Мобильная версия форумов
Открыть
 −4°C
завтра: −2°C
Погода в Перми
−4°C
ночью−4°C
утром−4°C
завтра−2°C
Подробно
 65,86
−0.3454
Курс USD ЦБ РФна 21 февраля
65,8568
−0.3454
 74,68
−0.1335
Курс EUR ЦБ РФна 21 февраля
74,6816
−0.1335
  • QRaga

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

    вопрос такой
    php-скрипт делает два запроса и обрабатывает их результаты следующим образом:
    while($res1=mysql_fetch_array($query1)){
    while($res2=mysql_fetch_array($query2)){
    ...
    }
    ...
    }

    так вот, на втором шаге первого while mysql_fetch_array($res2) ничего не возвращает, то есть результат второго запроса можно использовать только один раз.. как быть?

  • guru

    Сообщений: 7396

    так вот, на втором шаге первого while mysql_fetch_array($res2) ничего не возвращает, то есть результат второго запроса можно использовать только один раз.. как быть?
    Совершенно логично, первый проход по while выбрал поочередно все записи из $res2 и теперь $res2 находится в состоянии EOF. Так что второй раз цикл не начинается оттого, что новых записей-то нет! Перед циклом тогда надо либо переоткрывать набор данных, либо позиционироваться в начало.

    P.S. А вообще, странный код. Похож на обработку таблиц master-detail, но слишком коряво, если это так.

    who | grep -i blonde | date; cd ~; unzip; touch;
    strip; finger; mount; gasp; yes; uptime; umount;

  • QRaga

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

    Я использую такой вариант для отправки рассылки - первым запросом выясняется, кто из пользователей на какую новость подписан, а вторым создается массив новостей. Вариант с повтором запроса явно отпадает, так как если выбирать новости каждый раз для каждого пользователя, будет огромная нагрузка на базу. Стало быть, приемлем вариант с возвратом в начало массива. Подскажите, плиз, как это сделать.

  • activist

    Сообщений: 188

    Вы, батенька, SQL знаете? Если нет, то сформулируйте задачу поподробнее: что есть, что нужно, какая структура данных.

  • Анонимный пользователь
    Naskol'ko ya ponimayu, otnoshenie polzovatel-novost' = many to many? Esli da, to delaetsa 2 INNER JOIN-a -- perviy t tablitse polzovateley na tablitsu sootvetstviy, vtoroy ot sootvetstviy k novostyam, i obrabotka result seta elementarnaya.

    Esli vse-taki nado vashim strannim sposobom delat' -- est takaya funktsia mysql_data_seek, tol'ko ne vzdumayte virubat' keshirovaniye rezultatov zaprosa, a to ploho budet:улыб:

    A voobshe, esli vam dlya etogo dela 2 zaprosa nado, to vi libo SQL ne znaete, libo architectura bazy parshivaya.

Записей на странице:

Перейти в форум

Модератор: