|
автор: tot (11.06.2004 в 23:44) |
|
| Подскажите, плиз, в чём проблема:
читаю select-oм из базы данных инфу
$query = "SELECT * FROM table";
$result = mysql_query($query);
while($row = mysql_fetch_array($result))
{
// Тут работаю с данными
}
Потом нужно прогнать данные второй раз в цикле, но уже функция mysql_fetch_array не работает, приходится по новой делать запрос к базе данных. Так и должно или я чего не то делаю? | |
|
|
|
|
|
|
|
для: tot
(11.06.2004 в 23:44)
| | Всё правильно, после того как mysql_fetch_array отработала, внутренний указатель оказывается в конце данных и второй while работать не будет. Для того, чтобы его переместить в начало нужно воспользоваться функцией mysql_data_seek(), например:
<?php
$query = "SELECT * FROM table";
$result = mysql_query($query);
// первый цикл
while($row = mysql_fetch_array($result))
{
// Тут работаю с данными
}
// Устанавливаем внутренний указатель в начало
mysql_data_seek($result,0);
// второй цикл
while($row = mysql_fetch_array($result))
{
// Тут работаю с данными
}
?>
|
PS Вообще с mysql_data_seek() можно много чего интересного делать, рекомендую... :)))
http://www.softtime.ru/dic/id_dic=90&id_group=2 | |
|
|
|
|
автор: tot (12.06.2004 в 12:56) |
|
|
для: cheops
(12.06.2004 в 00:06)
| | Большой, сенкс, всё получилось :) | |
|
|
|