[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как скрыть строку таблицы.
JohnBraxton
Всем доброго времени суток! Парни подскажите кто знает… Ситуация в следующим есть код вывода информации из базы:
<?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 написал(а):
Для "просто" пустых значений:

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 написал(а):
Не лучше сделать так:

$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']] != '']){
Быстрый ответ:

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