Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема в запроск 
V
    Опции темы
belousov
Дата 23.7.2007, 14:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 317
Регистрация: 21.11.2006
Где: Москва

Репутация: нет
Всего: 6



Доброго дня, такая проблема. 

У меня выполняются три запроса, два из них в цикле, и каждый запрос в цикле предыдущего. 

Вот код

Код

$result2=mysql_query('select town_id, town_name, town_name="Москва" as toplist from phpbb_contacts_town order by toplist desc, town_name');


if ($row2=mysql_fetch_array($result2))
{
    for ($i=0; $i<count($row2); $i++)
    {
        $i=0;
        do 
        {
        $town[$i]['town_name']=$row2['town_name'];
        $town[$i]['town_id']=$row2['town_id'];
        
        $result=mysql_query("select * from phpbb_contacts_otdel where town_id=".$town[$i]['town_id']);
            if ($row_otdel[$i]=mysql_fetch_array($result)) 
            {
                for ($j=0; $j<count($row_otdel); $j++)
                {
                    $j=0;
                    do 
                        {
                        $otdel[$i][$j]['otdel_id']=$row_otdel[$i]['otdel_id'];
                        $otdel[$i][$j]['otdel_name']=$row_otdel[$i]['otdel_name'];
                        $otdel[$i][$j]['town_id']=$row_otdel[$i]['town_id'];

$zapros=mysql_query('select * from phpbb_contacts_users where otdel_id='.$otdel[$i][$j]['otdel_id']);

                    if ($row_user[$i][$j]=mysql_fetch_array($zapros))
                    {                                                                                           
                        for ($k=0; $k<count($row_user); $k++)
                        {
                            $k=0;
                            do 
                                {
                                $user[$i][$j][$k]['user_id']=$row_user[$i][$j]['user_id'];
                                $user[$i][$j][$k]['otdel_id']=$row_user[$i][$j]['otdel_id'];
                                $user[$i][$j][$k]['surname']=$row_user[$i][$j]['surname'];
                                $user[$i][$j][$k]['name']=$row_user[$i][$j]['name'];
                                $user[$i][$j][$k]['secondname']=$row_user[$i][$j]['secondname'];
                                $user[$i][$j][$k]['doljnost']=$row_user[$i][$j]['doljnost'];
                                $user[$i][$j][$k]['email']=$row_user[$i][$j]['email'];
                                $user[$i][$j][$k]['nomer']=$row_user[$i][$j]['nomer'];
                                $user[$i][$j][$k]['icq']=$row_user[$i][$j]['icq'];
                                $user[$i][$j][$k]['skype']=$row_user[$i][$j]['skype'];
                                $user[$i][$j][$k]['mob_tel']=$row_user[$i][$j]['mob_tel'];
                                                                
                                        }
                                        $k++;
                                }
                                while ($row_user[$i][$j]=mysql_fetch_array($zapros));
                        }
                                $j++;
                    }
                        }
                    while ($row_otdel[$i]=mysql_fetch_array($result));
                        
                }
        }
        $i++;
        }
        while ($row2=mysql_fetch_array($result2));
    }
}



Проблема в том что вот на этой строчке

Код

$zapros=mysql_query('select * from phpbb_contacts_users where otdel_id='.$otdel[$i][$j]['otdel_id']);

                    if    ($row_user[$i][$j]=mysql_fetch_array($zapros))


Вылезает вот такая ошибка  mysql_fetch_array(): supplied argument is not a valid MySQL result resource 

Уже и не знаю что с этим делать

Я знаю что эта ошибка значит, но не понимаю как от нее избавиться

Это сообщение отредактировал(а) belousov - 23.7.2007, 14:45


--------------------
NIHIL VERUM EST LICET OMNIA 
PM MAIL WWW ICQ Skype   Вверх
sTa1kEr
Дата 23.7.2007, 15:59 (ссылка) |  (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


9/10 программиста
***


Профиль
Группа: Завсегдатай
Сообщений: 1553
Регистрация: 21.2.2007

Репутация: 9
Всего: 146



Хм... Зачем вам нужны циклы в строках 6, 17 и 30?
Код

    for ($i=0; $i<count($row2); $i++)

Здесь count($row2) будет всегда равен 6. Т.е. в $row2 содержатся все колонки с ассоциативными ключами и числовыми. В запросе было 3 колонки, соответственно 3*2=6. Но если количество строк будет больше 6и, то к окончанию первой итерации условие $i<count($row2) не сработает и цикл будет закончен.
Код

                for ($j=0; $j<count($row_otdel); $j++)

Аналогично, только тут не известно количество столбцов и если строк меньше, то после окончания цикла while ($row_otdel[$i]=mysql_fetch_array($result));  начнется новая итерация цикла for, но $row_otdel[$i] уже равен false и, соответственно, $otdel[$i][$j]['otdel_id'] так же равен нулю. Отсюда синтаксическая ошибка в запросе:
Код

$zapros=mysql_query('select * from phpbb_contacts_users where otdel_id='.$otdel[$i][$j]['otdel_id']);

Советую включить вывод всех нотисов и уберите все циклы for.
PM MAIL   Вверх
belousov
Дата 23.7.2007, 16:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 317
Регистрация: 21.11.2006
Где: Москва

Репутация: нет
Всего: 6



Цикл for нужен для того чтобы данные в шаблон страницы запихивать. щас попробуем применить ваши советы

Добавлено через 3 минуты и 26 секунд
sTa1kEr,  да действительно $row2 = 6. а как его заменить тогда?

Добавлено через 7 минут и 37 секунд
sTa1kEr, Спасиб помогло

Добавлено через 8 минут и 29 секунд
sTa1kEr, хотел тебе плюсик к репутации добавить, но мне еще нельзя))


--------------------
NIHIL VERUM EST LICET OMNIA 
PM MAIL WWW ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Базы Данных | Следующая тема »


 




[ Время генерации скрипта: 0.0700 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.