[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как прочитать из ячейки, если пуста добавить данны
AkudJEE
Привет всем. У меня есть вот такой код:
<?php
$arrqq = array($row->id);
foreach($arrqq as $d => $s)
{ $imagetext = $row->imgtext; // берем описание картинки
$proverka = $row->proverka; //берем значение из поля проверки proverka
if ( $proverka < 1) // проверяем если поле проверки proverka не равно 1 тогда вставляем в описание картинки в мета описание, иначе ничего не делаем
{ $dbqq = JFactory::getDBO();
$queryqq = "UPDATE `xorst`.`jos_joomgallery` SET `metadesc` = '$imagetext' WHERE `jos_joomgallery`.`id` ='$s'";
$dbqq->setQuery( $queryqq );
$dbqq->query();
$dbqq1 = JFactory::getDBO();
$queryqq1 = "UPDATE `xorst`.`jos_joomgallery` SET `proverka` = 1 WHERE `jos_joomgallery`.`id` ='$s'";
$dbqq1->setQuery( $queryqq1 );
$dbqq1->query();
}}?>

Если в ячейке столбца proverka пусто, то данные из ячейки столбца imgtext копируются в ячейку столбца metadesc, но если в ячейке столбца стоит единица "1", то ничего не происходит. Мне это не совсем подходит, потому что, если пользователь внесет какие-нибудь данные в столбец metades, то код его данные стирает и вписывает данные из столбца imgtext, что не есть хорошо.
Помогите, пожалуйста изменить данный код, а именно сделать так, чтобы он проверял содержимое столбца metadesc, а не - proverka, то есть если есть какие нибудь данные в metadesc, то код ничего в ней не пропишет, а если пусто то скопирует данные из imgtext.





Спустя 1 час, 20 минут, 45 секунд (29.07.2012 - 14:09) Renden написал(а):
AkudJEE
Ну сделай условие типа:

if(!isset($row->metadesc))
{
//MYSQL UPDATE копируем данные из imgtext
}

Спустя 1 час, 8 минут, 19 секунд (29.07.2012 - 15:17) AkudJEE написал(а):
Написал таким образом:
<?php $arrqq = array($row->id);      
foreach($arrqq as $d => $s)
{
$imagetext = $row->imgtext; // берем описание картинки
$row->metadesc='';
if(!isset($row->metadesc))
{
$dbqq = JFactory::getDBO();
$queryqq = "UPDATE `xorst`.`jos_joomgallery` SET `metadesc` = '$imagetext' WHERE `jos_joomgallery`.`id` ='$s'";
$dbqq->setQuery( $queryqq );
$dbqq->query();


}} ?>

Но ничего не получилось.

Спустя 17 минут, 56 секунд (29.07.2012 - 15:35) Renden написал(а):
AkudJEE
А зачем эта строка?
$row->metadesc='';

Ты сам принудительно обьявил эту пременную, поэтому условие никогда не выполнится.

Спустя 19 минут, 3 секунды (29.07.2012 - 15:54) AkudJEE написал(а):
Если эту строку удалить, то все равно не выходит sad.gif

Спустя 35 минут, 29 секунд (29.07.2012 - 16:30) Renden написал(а):
AkudJEE
Покажи сам запрос на выборку тогда

Спустя 8 минут, 37 секунд (29.07.2012 - 16:38) AkudJEE написал(а):
Исправил на такой:
$imagetext = $row->imgtext; 
if(isset($row->metadesc))
{
$dbqq = JFactory::getDBO();
$queryqq = "UPDATE `xorst`.`jos_joomgallery` SET `metadesc` = '$imagetext' WHERE `jos_joomgallery`.`id` ='$s'";
$dbqq->setQuery( $queryqq );
$dbqq->query();
$dbqq->query();

Почти заработало, добавляет данные из imgtext, если поле metadesc пусто, но также добавляет (то есть заменяет) если поле metadesc заполнено
У вас в функции if(!isset($row->metadesc)) стоит восклицательный знак, убрал его работает, но не совсем так как мне надо. Надо теперь условие как-то прописать правильно.

Спустя 35 минут, 1 секунда (29.07.2012 - 17:13) Renden написал(а):
AkudJEE
Воспользуйся тогда ф-ей empty() заместо isset(). Isset не работает наверно потому что у тебя не null в базе, а просто пустые значения.

if(empty($row->metadesc))

Спустя 4 минуты, 14 секунд (29.07.2012 - 17:18) AkudJEE написал(а):
да не NULL, а пусто, щас попробую empty()

Спустя 10 минут, 49 секунд (29.07.2012 - 17:29) AkudJEE написал(а):
Вот так получилось:
<?php 
$arrqq = array($row->id);
foreach($arrqq as $d => $s)
{ $imagetext = $row->imgtext;
if(empty($row->metadesc))
{ $dbqq = JFactory::getDBO();
$queryqq = "UPDATE `xorst`.`jos_joomgallery` SET `metadesc` = '$imagetext' WHERE `jos_joomgallery`.`id` ='$s'";
$dbqq->setQuery( $queryqq );
$dbqq->query();
$dbqq->query();
}}
?>

Спасибо вам огромное!!! Я бы вам ПЛЮС поставил, но постов не хватает, как наберу, обязательно вам поставлю ПЛЮС.


_____________
[URL]http://izans.ru/ красивые обои и картинки скачать на рабочий стол
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.