Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Мини галерейка, проблема с INSERT
 
 автор: sanchescom   (17.11.2009 в 15:14)   письмо автору
 
 

Почему-то добавляет в базу галерей сразу 2 строки, подскажите почему это происходит! Вот код |

Ошибка происходит где-то здесь
                        $query = "SELECT 
                                          ID_GALL 
                                  FROM b_resum_users_gallery 
                                  WHERE LOGIN='".$USER->GetLogin()."'";
                        if ($SQLGetIDGall = $DB->Query($query))
                        {
                            if ($SQLGetIDGall->SelectedRowsCount()==0)
                            {                                 
                                $query = "INSERT 
                                          INTO b_resum_users_gallery 
                                          VALUES (
                                                   'NULL',
                                                   '".$USER->GetLogin()."',
                                                   '".$ID_Users."'
                                                 )";
                                // Если информация о галереи занесена, то создаем папку под изображения
                                if ($SQLCreateGallery = $DB->Query($query))
                                {
                                    // Создаем папку с изображениями пользователя
                                    mkdir($PhotoDir, 0777);
                                    UploadImages(
                                                    "",
                                                    $PhotoDir,
                                                    $_FILES["photo"]["tmp_name"],
                                                    $_FILES["photo"]["name"],
                                                    $TITLE,
                                                    $DESCRIPT
                                                );
                                }


Вот весь код.


    define("CHECK_INCLUDED","SET_TRUE");
    require($_SERVER["DOCUMENT_ROOT"]."/functions.php");
    require($_SERVER["DOCUMENT_ROOT"]."/class.php");
    global $USER;
    global $DB;
    
    if (isset($_GET['type']))
    {
        $etype = array("COM","ANN");
        $type  = $_GET['type'];
        switch ($type) {
            case $etype[0]:
                $array_parametrs = array(
                                           "Мое портфолио",
                                           "gallery",
                                           "table"
                                        );
                $query = "SELECT 
                                   ID_GALL,NAMEGALL 
                            FROM b_resum_users_gallery 
                            WHERE LOGIN='".$USER->GetLogin()."'";
          
                $sqlFormGal = $DB->Query($query);
                  $arrFormGal = $sqlFormGal->Fetch();
                    $id_gallery = $arrFormGal['ID_GALL'];
                $namegaller = $arrFormGal['NAMEGALL'];
                  if (!empty($id_gallery))
                  { 
                     $query = "SELECT 
                                         IMG,IMG_SMALL,TITLE,DESCRIPT 
                              FROM b_resum_users_images 
                              WHERE ID_GALL='".$id_gallery."'";
                      $sqlFormImg = $DB->Query($query);
                    $CountImg   = $sqlFormImg->SelectedRowsCount();
                    $query = "SELECT 
                                        ID_IMAGES,IMG_SMALL,TITLE,DESCRIPT 
                                  FROM b_resum_users_images 
                                WHERE ID_GALL='".$id_gallery."'";
                    if (isset($_GET['id_edit_img']))
                    {
                        $id_edit_img = $_GET['id_edit_img'];
                        $query .= " AND ID_IMAGES='".$id_edit_img."'";
                            
                        if (isset($_POST['seve']))
                        {
                            isset($_POST['TITLE'])    ? $TITLE    = $_POST['TITLE']    : '';
                            isset($_POST['DESCRIPT']) ? $DESCRIPT = $_POST['DESCRIPT'] : '';
                            $query = "UPDATE b_resum_users_images 
                                        SET
                                                TITLE = '".$TITLE."',
                                             DESCRIPT = '".$DESCRIPT."'
                                      WHERE   
                                              ID_IMAGES = '".$id_edit_img."' ";
                            $sqlUpdate = $DB->Query($query);
                            header("Location: ".$_SERVER['HTTP_REFERER'].""); 
                              exit;
                        }
                        if (isset($_POST['delete']))
                        {
                            $query = "DELETE FROM b_resum_users_images WHERE ID_IMAGES = '".$id_edit_img."' ";
                            $sqlDelete = $DB->Query($query);
                            header("Location: http://www.rabota37region.ru/gallery.php?user=".$USER->GetLogin()."&id_groupe=10&type=COM"); 
                              exit;
                        }                  
                    } 
                }
                if (isset($_POST['upload']))
                {
                    // Функция загрузки изображений
                    function UploadImages($ID_Gallery,$PhotoDir,$tmp_name,$name,$TITLE,$DESCRIPT)
                    {
                        global $USER;
                        global $DB;
                        
                        // Считаем фото в альбоме пользователя, если больше 4, свободен
                        $query = "SELECT 
                                          ID_IMAGES 
                                  FROM b_resum_users_images 
                                  WHERE ID_GALL='".$ID_Gallery."'";
                        if ($SQLGetIDImg = $DB->Query($query))
                        {
                            $CountIMG = $SQLGetIDImg->SelectedRowsCount();
                            if ($CountIMG<=4)
                            {    
                                // Загружаем изображения
                                if (image_upload($_FILES["photo"]["tmp_name"],$PhotoDir."/".$_FILES["photo"]["name"]))
                                {
                                    $id = array('1','2','3','4','5','6','7','8','9','0');
                                    $img_id = "";
                                    for ($i=0; $i<3; $i++)
                                    {
                                        $index = rand(0,count($id) - 1);
                                        $img_id .= $id[$index];
                                    }
                                    $filename    = $_FILES["photo"]["name"];
                                    $filenuwname = $img_id;
                                    rename($PhotoDir."/".$filename,$PhotoDir."/".$filenuwname.".jpg");    
                                    img_resize($PhotoDir."/".$filenuwname.".jpg",$PhotoDir."/original_".$filenuwname.".jpg",600,400);
                                    img_resize($PhotoDir."/".$filenuwname.".jpg",$PhotoDir."/small_".$filenuwname.".jpg",90,60);
                                
                                    $query = "SELECT 
                                                      ID_GALL
                                              FROM b_resum_users_gallery 
                                              WHERE LOGIN='".$USER->GetLogin()."'";
                                    if ($SQLSelectID_GALL = $DB->Query($query))
                                    {
                                        $arrSelectID_GALL = $SQLSelectID_GALL->Fetch();
                                            
                                        $query = "INSERT 
                                                  INTO b_resum_users_images
                                                  VALUES (
                                                            'NULL',
                                                            '".$arrSelectID_GALL['ID_GALL']."',
                                                            'original_".$filenuwname.".jpg',
                                                            'small_".$filenuwname.".jpg',
                                                            '".$TITLE."',
                                                            '".$DESCRIPT."'
                                                         )";
                                        if (!$AddGallery = $DB->Query($query))
                                        {
                                            Readdress("Ошибка при добавлении новой галереии в запросе -> ".$query);
                                        }
                                    }
                                        else
                                    {
                                        Readdress("Ошибка в получении ID галереии в запросе -> ".$query);
                                    }
                                }
                                    else
                                {
                                    Readdress("Ошибка! Не удается загрузить фото.");
                                }
                            }
                                else
                            {
                                Readdress("Количество фото в базе достигло придела");
                            }
                        }
                            else
                        {
                            Readdress("Ошибка в запросе -> ".$query);
                        }
                    }
                    
                    isset($_POST['TITLE'])    ? $TITLE    = $_POST['TITLE']    : 'Название фото';
                    isset($_POST['DESCRIPT']) ? $DESCRIPT = $_POST['DESCRIPT'] : 'Описание фото';
                    // Получаем ID пользователя и указываем путь к его папке
                    $query = "SELECT 
                                      ID_U 
                              FROM b_resum_users_com 
                              WHERE LOGIN='".$USER->GetLogin()."'";
                    if ($SQLSelectID = $DB->Query($query))
                    { 
                        $arrSelectID = $SQLSelectID->Fetch();
                        $ID_Users    = $arrSelectID['ID_U'];
                        $PhotoDir    = $_SERVER['DOCUMENT_ROOT']."/gallery/images/".$ID_Users;
                        // Проверяем создана ли галерея для этого пользователя, 
                        // если нет то создаем, если да то получаем ее ID
                        $query = "SELECT 
                                          ID_GALL 
                                  FROM b_resum_users_gallery 
                                  WHERE LOGIN='".$USER->GetLogin()."'";
                        if ($SQLGetIDGall = $DB->Query($query))
                        {
                            if ($SQLGetIDGall->SelectedRowsCount()==0)
                            {                                 
                                $query = "INSERT 
                                          INTO b_resum_users_gallery 
                                          VALUES (
                                                   'NULL',
                                                   '".$USER->GetLogin()."',
                                                   '".$ID_Users."'
                                                 )";
                                // Если информация о галереи занесена, то создаем папку под изображения
                                if ($SQLCreateGallery = $DB->Query($query))
                                {
                                    // Создаем папку с изображениями пользователя
                                    mkdir($PhotoDir, 0777);
                                    UploadImages(
                                                    "",
                                                    $PhotoDir,
                                                    $_FILES["photo"]["tmp_name"],
                                                    $_FILES["photo"]["name"],
                                                    $TITLE,
                                                    $DESCRIPT
                                                );
                                }
                            }
                                else
                            {
                                $arrSelectIDGall = $SQLGetIDGall->Fetch();
                                $ID_Gallery = $arrSelectIDGall['ID_GALL'];
                                UploadImages(
                                                $ID_Gallery,
                                                $PhotoDir,
                                                $_FILES["photo"]["tmp_name"],
                                                $_FILES["photo"]["name"],
                                                $TITLE,
                                                $DESCRIPT
                                            );
                                 header("Location: ".$_SERVER['HTTP_REFERER']."");
                                 exit;
                            }                
                        }
                    }
                }
                $sqlFormImgEdit = $DB->Query($query);    
                break;
        }
        $APPLICATION->SetTitle($array_parametrs[0]);
        require($_SERVER["DOCUMENT_ROOT"]."/work/templates/viwe/".$array_parametrs[1]."/".$array_parametrs[2]."/templates.php");
    }    

  Ответить  
 
 автор: Stop   (17.11.2009 в 20:03)   письмо автору
 
   для: sanchescom   (17.11.2009 в 15:14)
 

Раз ты говоришь что ошибка в первом коде то посмотри тут
 '".$USER->GetLogin()."', '".$ID_Users."'

  Ответить  
 
 автор: sanchescom   (18.11.2009 в 09:47)   письмо автору
 
   для: Stop   (17.11.2009 в 20:03)
 

Ну я так думаю что ошибка в первом коде, так как добавление в таблицу происходит именно там. Хотя на самом деле может надо и поглубже копнуть.
'".$USER->GetLogin()."', '".$ID_Users."'
Здесь смотрел 1000 раз, возвращает корректный результат, другое дело, что вызывается он почему-то 2 раза.

  Ответить  
 
 автор: sanchescom   (19.11.2009 в 12:06)   письмо автору
 
   для: sanchescom   (18.11.2009 в 09:47)
 

Проблему нашел, всем спасибо...
В самом низу надо было так
                    else
                {
                    $sqlFormImgEdit = $DB->Query($query);
                }

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования