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]   

> Без описания
toren
Отправлено: 12 Февраля, 2015 - 01:55:14
Post Id


Новичок


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


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




Только начинаю изучать пхп, не пинайте сильно.
Задача:
Есть таблица БД, в таблице столбец pic_small тип varchar(255) - там ссылки на картинки

Мне нужно выводить все записи из базы по столбцу pic_small - т.е. просто будут идти ссылки друг за другом циклом. И написать условие если поле пустое, то выводить слово "пусто"

Вот есть такой код, как правильно написать условие помогите

CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. <?include("bd_connect.php");?>
  3. <?
  4. $sql= "SELECT pic_small FROM products";
  5. $result = mysql_query($sql) or die(mysql_error() ."<br/>". $sql);
  6.  
  7. while ($row = mysql_fetch_assoc($result))
  8. {
  9.     $img .= "<p>".$row['pic_small']."</p>\n";
  10. }
  11.  
  12. //условие тут наверняка не правильно
  13. if(!isset($img))  
  14.      echo "пусто";
  15.           else
  16.           {
  17.           echo $img;
  18.           }
  19.  
  20. ?>
  21.  
  22.  
  23.  



При таком условии я так понял выводятся все заполненные pic_small

В базе 10 записей, из них 7 заполненные поля pic_small, 3 записи с пустыми полями pic_small

Нужно чтобы выводились все 10 записей, из которых у 7 выводятся ссылки, а у 3 пустых слово "пусто"

Сейчас же просто выводятся 7 записей у которых есть ссылки
Буду очень признателен в помощи!
 
 Top
exlant
Отправлено: 12 Февраля, 2015 - 03:26:55
Post Id



Посетитель


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


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




PHP:
скопировать код в буфер обмена
  1.  
  2. $sql= "SELECT pic_small FROM products WHERE pic_small!='' OR pic_small=''";
  3. $result = mysql_query($sql) or die(mysql_error() ."<br/>". $sql); //or die(mysql_error()) так лучше не писать, разве что для себя, что бы сразу увидеть ошибку,  перед отправкой сайта на хостинг от таких конструкций желательно избавиться, так как это потенциальная уязвимость! ошибки лучше писать в лог, а пользователю выводить то что вы считаете нужным!
  4.  
  5. while ($row = mysql_fetch_assoc($result))
  6. {
  7.     if(!empty($row['pic_small'])){
  8.        $img[] = "<p>".$row['pic_small']."</p>\n";
  9.     }else{
  10.         $img[] = '';
  11.     }
  12. }
  13.  
  14. foreach($img as $val){
  15.     echo $val,'<br>';
  16. }
  17.  

а вообще, что бы не делать такой запрос $sql= "SELECT pic_small FROM products WHERE pic_small!='' OR pic_small=''";, в таблице создать поле id, задать ему первичный ключ и автоинкремент, и делать запрос таким образом $sql= "SELECT id,pic_small FROM products

и на заметку php api mysql уже устарело (http://php.net/manual/ru/intro.mysql.php ), и будет удалено в будующем, вместо него лучше использовать mysqli или pdo

(Отредактировано автором: 12 Февраля, 2015 - 03:27:35)

 
 Top
toren
Отправлено: 12 Февраля, 2015 - 11:40:20
Post Id


Новичок


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


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




в таблице создать поле id, задать ему первичный ключ и автоинкремент - есть просто не писал это, спасибо большое!
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB