Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: MySQL
 
 автор: 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 не работает, приходится по новой делать запрос к базе данных. Так и должно или я чего не то делаю?

   
 
 автор: cheops   (12.06.2004 в 00:06)   письмо автору
 
   для: 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)
 

Большой, сенкс, всё получилось :)

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования