Выбираю данные из БД, потом их вывожу с помощью "printf", но выводятся все значения, даже если значение ячейки в таблице NULL, а хотелось бы если пустое поле, то чтобы оно упускалось. Как это сделать, подскажите?
Код (Text): printf ("имя: $name"); printf ("тел: $tel"); printf ("адрес: $mail"); Но если нет в абонента номера тел., то все равно оно показывает: Имя: Коля Тел: Адрес: email@email.ru
Chudik а что вы ожидали от этого кода? что он сам начнет за вас решать, что нужно выводить, а что не нужно? проверяйте переменные на присутствие значений. P.S. зачем использовать функцию, форматирующую строку, если это форматирование не используется? используйте echo.
Chudik нууу, тут два варианта: 1) проверять сами переменные 2) поставить условия в запросе, чтоб пустых не было
м, структура таблицы допустим: id name tel mail. Нужны только непустые значения name tel и mail Код (Text): SELECT name, mail, tel FROM **** WHERE name != '' AND tel != '' AND mail != '' LIMIT 0 , 30)
Показывает записи 0 - 0 (1 всего, Запрос занял 0.0005 сек) SQL-запрос : [Правка] [Описать SQL] [Создать PHP-код] SELECT * FROM `test_table` WHERE name != '' AND tel != '' AND mail != '' LIMIT 0 , 30 в таблице 3 записи, из них в одной заполнены все три поля.
я думаю, автору нужны все записи. а не только те, в которых заполнены все поля. в это случае в запросе действительно нечего делать, а код для пхп написали уже сто раз.
Код (Text): WHERE 1 AND ((name != '') OR (name is not null)) AND ((tel != '') OR (tel is not null)) AND ((mail != '') OR (mail is not null)) LIMIT 0 , 30 может так? если поможет, значит надо почитать литературу, так как этот запрос содержит все-таки избыточную информацию с логической точки зрения. НАДО ЗНАТЬ ЧТО У ВАС ЛЕЖИТ В БД!
Код (Text): while($myrow=mysql_fetch_row($result)) { printf("<table border=1 bordercolor=#009900 cellSpacing=1 cellpadding=0 width=580><tr class=name><td align=left height=25 class=firm><b>%s</b>\n<br>",$myrow[1]); printf("</tr></td><tr><td><table class=bakfon><tr class=row1 align=left><td width=150>Види діяльності:</td><td width=425>%s\n<br>",$myrow[5]); if ("$myrow[11]") { printf("<tr class=row1 align=left><td></td><td>%s\n<br>",$myrow[11]); } if ("$myrow[10]") { printf("<tr class=row1 align=left><td></td><td>%s\n<br>",$myrow[10]); } printf("<tr class=row1 align=left><td>Адреса:</td><td>%s, %s, %s\n<br>",$myrow[4], $myrow[2] ,$myrow[3]); if ("$myrow[8]") { printf("<tr class=row1 align=left><td>Телефон:</td><td>%s\n<br>",$myrow[8]); } if ("$myrow[9]") { printf("<tr class=row1 align=left><td>Факс:</td><td>%s\n<br>",$myrow[9]); } if ("$myrow[6]") { printf("<tr class=row1 align=left><td>e-mail:</td><td>%s\n<br>",$myrow[6]); } if ("$myrow[7]") { printf("<tr class=row1 align=left><td>http://</td><td>%s</tr>\n",$myrow[7]); } echo "</td></table></tr></td></table>"; } вот так сделал, как считаете нормально будет, выводит вроде то что и хотелось добится