За последние 24 часа нас посетили 59116 программистов и 1808 роботов. Сейчас ищут 834 программиста ...

Как прочитать из ячейки, и если она пуста добавить данные

Тема в разделе "PHP и базы данных", создана пользователем AkudJEE, 29 июл 2012.

  1. AkudJEE

    AkudJEE Активный пользователь

    С нами с:
    29 июл 2012
    Сообщения:
    29
    Симпатии:
    0
    Привет всем. У меня есть вот такой код:
    Код (Text):
    1. <?php
    2. $arrqq = array($row->id);      
    3. foreach($arrqq as $d => $s)
    4. { $imagetext = $row->imgtext; // берем описание картинки
    5. $proverka = $row->proverka; //берем значение из поля проверки proverka
    6. if ( $proverka < 1) // проверяем если поле проверки proverka не равно 1 тогда вставляем в описание картинки в мета описание, иначе ничего не делаем
    7. { $dbqq = JFactory::getDBO();
    8. $queryqq = "UPDATE `xorst`.`jos_joomgallery` SET `metadesc` = '$imagetext' WHERE `jos_joomgallery`.`id` ='$s'";
    9. $dbqq->setQuery( $queryqq );
    10. $dbqq->query();
    11. $dbqq1 = JFactory::getDBO();
    12. $queryqq1 = "UPDATE `xorst`.`jos_joomgallery` SET `proverka` = 1 WHERE `jos_joomgallery`.`id` ='$s'";
    13. $dbqq1->setQuery( $queryqq1 );
    14. $dbqq1->query();
    15. }}?>
    Если в ячейке столбца proverka пусто, то данные из ячейки столбца imgtext копируются в ячейку столбца metadesc, но если в ячейке столбца стоит единица "1", то ничего не происходит. Мне это не совсем подходит, потому что, если пользователь внесет какие-нибудь данные в столбец metades, то код его данные стирает и вписывает данные из столбца imgtext, что не есть хорошо.
    Помогите, пожалуйста изменить данный код, а именно сделать так, чтобы он проверял содержимое столбца metadesc, а не - proverka, то есть если есть какие нибудь данные в metadesc, то код ничего в ней не пропишет, а если пусто то скопирует данные из imgtext.
     
  2. wds

    wds Активный пользователь

    С нами с:
    27 июл 2012
    Сообщения:
    16
    Симпатии:
    0
    Re: Как прочитать из ячейки, и если она пуста добавить данны

    Если я правильно понял задачу, то решается так
    Код (Text):
    1. UPDATE `xorst`.`jos_joomgallery` SET metadesc=if(length(metadesc)=0,'$imagetext',metadesc) WHERE `jos_joomgallery`.`id` ='$s'";
     
  3. AkudJEE

    AkudJEE Активный пользователь

    С нами с:
    29 июл 2012
    Сообщения:
    29
    Симпатии:
    0
    Re: Как прочитать из ячейки, и если она пуста добавить данны

    wds, спасибо огромное, все получилось. Сделал вот так:
    Код (Text):
    1.  
    2. <?php
    3. $arrqq = array($row->id);      
    4. foreach($arrqq as $d => $s)
    5. {
    6. $imagetext = $row->imgtext; // берем описание картинки
    7. $dbqq = JFactory::getDBO();
    8. $queryqq = "UPDATE `xorst`.`jos_joomgallery` SET metadesc=if(length(metadesc)=0,'$imagetext',metadesc) WHERE `jos_joomgallery`.`id` ='$s'";
    9. $dbqq->setQuery( $queryqq );
    10. $dbqq->query();
    11. }?>
    Добавлено спустя 4 минуты 10 секунд:
    Re: Как прочитать из ячейки, и если она пуста добавить данные
    А я вот так сделал было совсем недавно:
    Код (Text):
    1. <?php
    2. $arrqq = array($row->id);      
    3. foreach($arrqq as $d => $s)
    4. {
    5. $imagetext = $row->imgtext;
    6. if(empty($row->metadesc))
    7. {
    8. $dbqq = JFactory::getDBO();
    9. $queryqq = "UPDATE `xorst`.`jos_joomgallery` SET `metadesc` = '$imagetext' WHERE `jos_joomgallery`.`id` ='$s'";
    10. $dbqq->setQuery( $queryqq );
    11. $dbqq->query();
    12. $dbqq->query();
    13. }
    14. }
    15. ?>  
    Тоже правильно работает. Не подскажете какую лучше использовать?