Javascript-форум (https://javascript.ru/forum/)
-   Серверные языки и технологии (https://javascript.ru/forum/server/)
-   -   2 запроса или 1 генерируемый. (https://javascript.ru/forum/server/39826-2-zaprosa-ili-1-generiruemyjj.html)

Duda.Ml1986@gmail.com 13.07.2013 16:37

2 запроса или 1 генерируемый.
 
Приветствую.

Есть возможность редактировать статьи.
Для каждой статьи одна фотография.
Во время регистрации пользователь может изменить фото, а может и нет.
После отправки формы с данным я узнаю о изменениях, но получается что нужно два запроса, один с изменением поля имени фото в БД и второй без.

Запрос выглядит так:
Код:

$query = "INSERT INTO  `books`.`books` (
                                `Name` ,
                                `Author` ,
                                `Since` ,
                                `Volume` ,
                                `Description` ,
                                `Translators` ,
                                `OriginalLanguage`,
                                `PictureNames`
                                )
                                VALUES ( '".$books_data['Name']."',
                                '".$books_data['Author']."',
                                '".$books_data['Since']."',
                                '".$books_data['Volume']."',
                                '".$books_data['Description']."',
                                '".$books_data['Translators']."',
                                '".$books_data['OriginalLanguage']."',
                                '".$image_name."' )";
                $insert_complete = $this->Insert_Or_Update_New_Book($query);

Как можно использовать один запрос для 2х вариантов?

Решил так:
Код:

if($image_name==0)
        {
                $PictureNames = '';       
                $PictureNames_Data = '';
        }else
        {
                $PictureNames = ',`PictureNames`';
                $PictureNames_Data = ",'$image_name'";
        }
                $query = "INSERT INTO  `books`.`books` (
                                `Name` ,
                                `Author` ,
                                `Since` ,
                                `Volume` ,
                                `Description` ,
                                `Translators` ,
                                `OriginalLanguage`
                                ". $PictureNames ."
                                )
                                VALUES ( '".$books_data['Name']."',
                                '".$books_data['Author']."',
                                '".$books_data['Since']."',
                                '".$books_data['Volume']."',
                                '".$books_data['Description']."',
                                '".$books_data['Translators']."',
                                '".$books_data['OriginalLanguage']."'
                                ". $PictureNames_Data." )";


vflash 13.07.2013 21:19

одно поле должно быть уникальным(индекс). делаешь вставку , если результат ноль то значит запись есть и делаешь изменение.

можно делать сперва изменение. если не прошло то вставку, если не прошло то снова изменение.


Часовой пояс GMT +3, время: 16:11.