ФорумПрограммированиеPHP для идиотов → Как дважды обойти набор данных с помощью mysql_fetch_array()

Как дважды обойти набор данных с помощью mysql_fetch_array()

  • fpyha

    Сообщения: 4 Репутация: N Группа: Кто попало

    Spritz 21 августа 2010 г. 5:39

    Друзья, столкнулся с проблемой.

    Есть запрос и набор данных $result :

    $query = "SELECT t1.id, $select_expr FROM $select_from ";
    $result = @MQ($query) or die("$query <b>failed!</b><br>".mysql_error());


    Обход $result с помощью mysql_fetch_array():

    while ($data_array = mysql_fetch_array($result))
    {
    //операторы;
    }


    После обхода $result с помощью mysql_fetch_array() мне нужно обойти этот набор ещё раз. Как при достижении конца набора указать, что нужно вновь
    встать на его первый элемент.

    Заранее вас благодарю.




  • adw0rd

    Сообщения: 22905 Репутация: N Группа: в ухо

    Spritz 21 августа 2010 г. 6:04, спустя 25 минут 5 секунд

    [man]mysql_data_seek[/man]
    adw/0
  • krasun

    Сообщения: 1370 Репутация: N Группа: Джедаи

    Spritz 21 августа 2010 г. 6:16, спустя 11 минут 42 секунды

    я на всякий случай

    $data_array = array();
    while ($data_array[] = mysql_fetch_array($result)) { }
    // далее можно обходить $data_array, как хочешь
  • fpyha

    Сообщения: 4 Репутация: N Группа: Кто попало

    Spritz 21 августа 2010 г. 6:19, спустя 3 минуты 39 секунд


    [man]mysql_data_seek[/man]


    adw0rd, большое тебе спасибо за быстрый ответ

    Помогло:

    mysql_data_seek($result, 0); 	
  • adw0rd

    Сообщения: 22905 Репутация: N Группа: в ухо

    Spritz 21 августа 2010 г. 6:22, спустя 2 минуты 25 секунд

    krasun, да какая разница, он всеравно буферизированный
    adw/0
  • fpyha

    Сообщения: 4 Репутация: N Группа: Кто попало

    Spritz 21 августа 2010 г. 6:23, спустя 1 минуту 4 секунды


    я на всякий случай

    $data_array = array();
    while ($data_array[] = mysql_fetch_array($result)) { }
    // далее можно обходить $data_array, как хочешь



    и тебе спасибо krasun. Буду через mysql_data_seek($result, 0);  

Пожалуйста, авторизуйтесь, чтобы написать комментарий!