За последние 24 часа нас посетили 21075 программистов и 1112 роботов. Сейчас ищут 424 программиста ...

Шагнуть вперёд при pg_fetch_row.

Тема в разделе "PHP для новичков", создана пользователем Flake, 25 апр 2009.

  1. Flake

    Flake Активный пользователь

    С нами с:
    25 апр 2009
    Сообщения:
    2
    Симпатии:
    0
    Здравствуйте.

    В общем есть код:
    PHP:
    1. <?php
    2. $q = "SELECT track_name, track_number, media_number FROM tracks WHERE album_id='5929' ORDER BY media_number, track_number ASC";
    3. $res = pg_query($connection, $q);
    4.  
    5. while( $row = pg_fetch_array($res) )
    6. {
    7.   //Тут выводим треки
    8. }
    9. ?>
    10.  
    track_name, track_number, media_number это название трека, номер и номер CD соответственно.

    media_number может быть 1, 2, 3 и т.д.

    При выводе треков, если media_number у каждого трека имеет один номер(т.е. один диск), нужно соответственно выводить "Диск 1", "Диск 2" и тд перед треками.
    Но если у всех треков media_number 1, то не выводить номер диска.

    Вопрос следующий. Как мне узнать media_number последнего трека?
    Если сделать что-то типа $row1 = pg_fetch_array($res, 12), то внутренний счётчик сбросится.
     
  2. T-Mon

    T-Mon Активный пользователь

    С нами с:
    2 янв 2008
    Сообщения:
    67
    Симпатии:
    0
    Адрес:
    Kyiv
    PHP:
    1. <?php
    2. if (pg_result ($res, 0, 'media_number') == pg_result ($res, pg_num_rows($res) - 1, 'media_number')):
    3. //Output #1
    4. else:
    5. //Output #2
    6. endif;
    7. ?>
    Вместо Output'ов те циклы с разными режимами вывода.