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

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

  • так вот, на втором шаге первого 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;

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

  • Вы, батенька, 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.

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

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

Модератор: