Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Вопрос про массив?!

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Virgin
Отправлено: 28 Сентября, 2009 - 08:50:11
Post Id


Частый гость


Покинул форум
Сообщений всего: 130
Дата рег-ции: Май 2008  


Помог: 0 раз(а)




Делаю выборку из бд получаю массив данных

CODE (text):
скопировать код в буфер обмена
  1.  
  2. $vv="нет";
  3.  
  4. while ($f=mysql_fetch_array($sql)) {
  5.  
  6. echo "<div>".$f[1]."</div>";
  7.  
  8. }
  9.  


Как мне выводить в див значение переменной $vv ? если элемент массива $f[1] будет нулевым?
 
 Top
RomAndry Администратор
Отправлено: 28 Сентября, 2009 - 09:00:44
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 913
Дата рег-ции: Янв. 2008  


Помог: 6 раз(а)




PHP:
скопировать код в буфер обмена
  1.  
  2. while ($f=mysql_fetch_array($sql)) {
  3.   echo "<div>".($f[1]!=0 ? $f[1] : $vv)."</div>";
  4. }
  5.  
 
My status
 Top
Virgin
Отправлено: 28 Сентября, 2009 - 10:37:03
Post Id


Частый гость


Покинул форум
Сообщений всего: 130
Дата рег-ции: Май 2008  


Помог: 0 раз(а)




RomAndry пишет:
PHP:
скопировать код в буфер обмена
  1.  
  2. while ($f=mysql_fetch_array($sql)) {
  3.   echo "<div>".($f[1]!=0 ? $f[1] : $vv)."</div>";
  4. }
  5.  



пасиб
 
 Top
Champion Супермодератор
Отправлено: 28 Сентября, 2009 - 11:11:41
Post Id



Активный участник


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


Помог: 57 раз(а)




А еще можно в запросе использовать конструкцию COALESCE:
coalesce(colname, value_if_null). Хотя это для null, а не для нулевого значения
 
 Top
JustUserR
Отправлено: 28 Сентября, 2009 - 11:41:56
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




Champion Хм а разве если из базы возвращается пустое значение то оно NULL а не просто пустая строка? Улыбка


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Champion Супермодератор
Отправлено: 28 Сентября, 2009 - 12:04:25
Post Id



Активный участник


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


Помог: 57 раз(а)




NULL и пустая строка - оба могут содержаться в БД. Или в чем вопрос?
 
 Top
Virgin
Отправлено: 28 Сентября, 2009 - 13:01:56
Post Id


Частый гость


Покинул форум
Сообщений всего: 130
Дата рег-ции: Май 2008  


Помог: 0 раз(а)




там не NULL а просто пустая строка!!!

может попробовать как то так?
CODE (text):
скопировать код в буфер обмена
  1.  
  2. SELECT...,IF(col='',col,'нет') as 'col' FROM...
  3.  
 
 Top
movEAX
Отправлено: 28 Сентября, 2009 - 13:30:55
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 750
Дата рег-ции: Авг. 2009  


Помог: 16 раз(а)




Virgin пишет:
там не NULL а просто пустая строка!!!

Если там нет ничего , в том числе и пробелов, то может сработать такая конструкция



-----
армия.. самое убогое место
 
 Top
RomAndry Администратор
Отправлено: 28 Сентября, 2009 - 13:54:30
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 913
Дата рег-ции: Янв. 2008  


Помог: 6 раз(а)




ну тогда
CODE (SQL):
скопировать код в буфер обмена
  1.  
  2. SELECT...,IF(col!="",col,"нет") AS `col` FROM...
  3.  
 
My status
 Top
JustUserR
Отправлено: 28 Сентября, 2009 - 17:38:50
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




Вообще во многих реализация SQL несть функции типа NVL IFNULL или ISNULL которы заменяют значени NULL на чтото другое (Так как мы знам что NULL ни с чем сравнивать нельзя) - и можно не мудрить Улыбка


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Virgin
Отправлено: 29 Сентября, 2009 - 12:43:02
Post Id


Частый гость


Покинул форум
Сообщений всего: 130
Дата рег-ции: Май 2008  


Помог: 0 раз(а)




RomAndry пишет:
SELECT...,IF(col!="",col,"нет") AS `col` FROM...


спасибо работает
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB