|
|
|
| Народ чего то туплю.
Цикл выводит на одно сообщение меньше чем положено.
Например: в таблице 3 записи содержащие поле Адрес.
В цикле выведется 3 записи, но последняя запись выведеться без данных хотя они в ней есть.
if(isset($_GET[view_done]))
{
$select_records=mysql_query("select * from ext_records where end_date='$_GET[view_done]' and status='1' and id_r='$_SESSION[user_id]' order by end_date DESC;");
$data_records1=mysql_fetch_array($select_records);
if($data_records1[id]==0)
{
echo "<center>Ничего не найдено.<br><a href='table2.php'>Отменить результат поиска</a></center>";
}
else
{
echo "<center><a href='table2.php'>Отменить результат поиска</a></center>";
for($f=0;$f<mysql_num_rows($select_records);$f++)
{
$data_records=mysql_fetch_array($select_records);
echo "
Адрес:$data_records[adress]
";
}
}
} | |
|
|
|
|
|
|
|
для: Eser
(18.08.2011 в 15:16)
| | Когда вы вызываете mysql_fetch_array($select_records) курсор результирующей таблицы смещается на одну позицию вниз, поэтому в цикле данные выбираются уже со второй записи. Лучше для определения факта нахождения или отсутствия данных проверять при помощи mysql_num_rows()
<?php
if(isset($_GET['view_done']))
{
$query = "select * from ext_records
where
end_date='$_GET[view_done]' and
status='1' and
id_r='$_SESSION[user_id]'
order by end_date DESC;"
$select_records = mysql_query($query);
if(!mysql_num_rows($select_records))
{
echo "<center>Ничего не найдено.<br>".
"<a href='table2.php'>Отменить результат поиска</a></center>";
}
else
{
echo "<center><a href='table2.php'>Отменить результат поиска</a></center>";
for($f=0; $f<mysql_num_rows($select_records); $f++)
{
$data_records = mysql_fetch_array($select_records);
echo "Адрес:$data_records[adress]";
}
}
}
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(18.08.2011 в 15:24)
| | Век учись век живи.
Спасибо! | |
|
|
|
|
|
|
|
для: Eser
(18.08.2011 в 15:54)
| | >Век учись век живи.
может наоборот? | |
|
|
|