Повторный вывод результата запроса (PHP + MySQL) - вопрос №10024

Здравствуйте. Ткните, где копать.В PHP делаю запрос в БД (MySQL), он возвращает результат, который я вывожу:--------------------------------------------$query = «select * from author;»;;res = mysql_query($query);while($row = mysql_fetch_array($res)) {echo "
".$row['surname'];}------------------------------------------Вопрос: можно ли как-то еще раз вывести результаты этого запроса? Повторное использование цикла с mysql_fetch_array не дает результатов, видимо надо обнулять какой-то счетчик?
Вопрос задан анонимно
22.01.09
3 ответа

Лучший ответ по мнению автора

Если вызвать mysql_data_seek ($res, 0); Вот пример кода где так делаетсяhttp://www.phpdig.net/ref/rn41re782.htmlПравда, я сам никогда не проверял, но должно работать.
22.01.09
Лучший ответ по мнению автора

Другие ответы

нет, такой возможности в PHP нет. Да и это не лучший способ использования, обычно можно все сделать за один проход. В JDBC для Java есть такая возможность перебора ответа в любом направлении. Как решение, если в несколько раз используете полученный массив, сначала в цикле загоните все значения ответа в свой массив, а потом используйте его:$my_result = array();while ($des = mysqli_fetch_assoc($resource)){ $my_result[] = $des;}далее можете так же перебирать массив $my_result (через, например, foreach), а если надо передвинуть указатель текущего элемента массива, используйте обычные функции массивов — end, next, prev
22.01.09
Для этого надо «перемотать» дескриптор на начало: mysql_data_seek($res, 0)
22.01.09

Alexander

Читать ответы

Дима

Читать ответы
Посмотреть всех экспертов из раздела Технологии > PHP
Пользуйтесь нашим приложением Доступно на Google Play Загрузите в App Store