<?php
$result = mysql_query("SELECT * FROM Base ", $db);
$myrow = mysql_fetch_array($result);
if(!$result)
{
echo "Возникла ошибка - ".mysql_error()."<br>";
echo $sql;
exit();
}
do
{
printf("<div class='center_title_bar'><font color='#0000FF' style='font:Tahoma, Geneva, sans-serif' size='3'>Товар</font></div>
<div class='prod_box_big'>
<div class='center_prod_box_big'>
<table border='1' cellspacing='0' cellpadding='0' width='650'>
<td width='112' align='left' valign='top'><p><em>Номер</em></p></td>
<td width='402' align='left' valign='top'><p>%s</p></td>
</tr>
<tr>
<td width='112' align='left' valign='top'><p><em>Описание </em></p></td>
<td width='402' align='left' valign='top'><p>%s</p></td>
</tr>
<tr>
<td width='112' align='left' valign='top'><p><em>Данные </em></p></td>
<td width='402' align='left' valign='top'><p>%s</p></td>
</tr>
</table></div>
<div class='bottom_prod_box_big'></div>
</div><br><br><br>", $myrow["number"], $myrow["osp"], $myrow["data"]);
}
while ($myrow = mysql_fetch_array($result));
?>
Как сделать что бы если строка в базе $myrow["osp"] пуста, то и строка таблицы не выводилась??? Есть предположения что всю инфу нужно выводить из БД в переменные а потом способом проверки (если пуста, то) но вот только я незнаю как правельно прописать... Подскажите кто знает... Заранее благодарен!!!
Спустя 7 минут, 26 секунд (20.02.2011 - 11:34) PiratXXX написал(а):
JohnBraxton
если к примеру Номер пуст, то и остольное не выводить, да?
если к примеру Номер пуст, то и остольное не выводить, да?
Спустя 8 минут, 52 секунды (20.02.2011 - 11:43) T1grOK написал(а):
Для "просто" пустых значений:
Для значений типа NULL
SELECT * FROM Base WHERE `osp`=""
Для значений типа NULL
SELECT * FROM Base WHERE `osp` IS NOT NULL
Спустя 2 минуты, 32 секунды (20.02.2011 - 11:45) JohnBraxton написал(а):
Цитата (PiratXXX @ 20.02.2011 - 08:34) |
JohnBraxton если к примеру Номер пуст, то и остольное не выводить, да? |
Вся информация вытаскивается из базы в таблицу... Если к примеру ячейка в базе пустая, то и строку в таблице не выводить... Кпримеру, если пользователь регистрируясь на сайте указал только имя и фамилию, то если админ захочет посмотреть его данные, то строка отчество не выводилась в таблице так как она полюбому будет пуста...
Спустя 5 минут, 48 секунд (20.02.2011 - 11:51) T1grOK написал(а):
Вот так нужно было сразу объяснять. А какая вам разница. Все равно пустая строка останется пустой при выводе.
Спустя 7 минут, 9 секунд (20.02.2011 - 11:58) JohnBraxton написал(а):
Цитата (T1grOK @ 20.02.2011 - 08:51) |
Вот так нужно было сразу объяснять. А какая вам разница. Все равно пустая строка останется пустой при выводе. |
Хорошо... Поясню... Дело в том что в базе более 500 строчек, из них как минимум 50% пустых (не одни и те же) при просмотре таблицы пустые должны быть скрыты что бы не раздражало и не растягивало страницу...
Спустя 17 минут, 59 секунд (20.02.2011 - 12:16) T1grOK написал(а):
Не лучше сделать так:
Можно было и проще сделать перебирая массив $myrow через foreach, но код бы получился не столь универсальным.
$fields = array('0'=>array('field'=>'number','label'=>'Номер'),
'1'=>array('field'=>'osp','label'=>'Описание'),
'2'=>array('field'=>'data','label'=>'Данные'));
$fields_num = count($fields);
while ($myrow = mysql_fetch_array($result)){
echo "<table border='1' cellspacing='0' cellpadding='0' width='650'>";
for($n=0; $n<$fields_num; $n++){
if ($myrow[$fields[$n]['field']] != '']){
echo "<tr>
<td width='112' align='left' valign='top'><p><em>".$myrow[$fields[$n]['label']]."</em></p></td>
<td width='402' align='left' valign='top'><p>".$myrow[$fields[$n]['field']]."</p></td>
</tr>";
}
echo "</table>";
}
}
Можно было и проще сделать перебирая массив $myrow через foreach, но код бы получился не столь универсальным.
Спустя 2 минуты, 20 секунд (20.02.2011 - 12:18) JohnBraxton написал(а):
Ща попробую.. Спасибо огромное!
Спустя 3 месяца, 20 дней, 20 часов, 43 минуты, 54 секунды (11.06.2011 - 08:02) franko написал(а):
Parse error: syntax error, unexpected ']'
if ($myrow[$fields[$n]['field']] != '']){
if ($myrow[$fields[$n]['field']] != '']){