Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: цикл while в цикле while
Покинул форум
Сообщений всего: 102
Дата рег-ции: Янв. 2010
Помог: 0 раз(а)
столкнулся с проблемой, что цикл в цикле не работает.
задача такова. есть база данных с таблицами и таблица с шестизначными числами.
нужно выявить те шестизнаки, у которых нет таблиц.
Покинул форум
Сообщений всего: 35
Дата рег-ции: Нояб. 2010 Откуда: Москва
Помог: 0 раз(а)
На сколько я понимаю, если использовать mysql_query, то предыдущий рекордсет грохается и открывается новый, она не может держать открытыми более одного рекордсета, один придется загрузить в массив.
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
TM123, нет, понимаете неверно. Ответ mysql'а сохранён в ресурсе и его можно дёрнуть, пока существует переменная или до вызова mysql_free_result.
haveFun, mysql_data_seek в помощь. После первого пробега по ответу mysql указатель стоит на последней строке, mysql_fetch_array отвечает false, т.к. больше строк нет, и цикл прерывается не успев начаться.
----- PostgreSQL DBA
JustUserR
Отправлено: 27 Января, 2011 - 09:24:30
Активный участник
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
haveFun пишет:
Задача такова. есть база данных с таблицами и таблица с шестизначными числами Нужно выявить те шестизнаки, у которых нет таблиц
Для осуществления решения предполагаемой задачи по нахождению информационных полей в целевой БД на основе критерия сравнения элементов контейнерного уровня описания данных - целесообразно использование SQL-продедуры обеспечивающей линейный просмотр требуемых информационных полей с реализацией трактования именованных элементов на уровне локальных переменных
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
TM123
Отправлено: 27 Января, 2011 - 13:35:54
Новичок
Покинул форум
Сообщений всего: 35
Дата рег-ции: Нояб. 2010 Откуда: Москва
Помог: 0 раз(а)
[quote=Мелкий]TM123, нет, понимаете неверно. Ответ mysql'а сохранён в ресурсе и его можно дёрнуть, пока существует переменная или до вызова mysql_free_result.
Я в общем-то больше по MS SQL, но постепенно все больше смещаюсь в сторону MySQL, т.к. все больше надоедает бороться с кривостью MS библиотек для работы с ним из под PHP, а вообще я бывший ASP+MS SQL, так что не судите за возможно несуразные вопросы.
В общем на сколько я понял у MySQL нет курсоров как таковых, подготавливается набор данных, который и выдается. Соответственно вопрос как живет этот набор данных если он связывается с переменной и остается доступным при повторном вызове mysql_query. Подготовленный набор данных хранится на стороне MySQL сервера и выбирается постепенно, либо подготовленный набор полностью закачивается на сторону клиента? Если PHP и MySQL живут на одной машине, где хранится все равно, а если на разных то встает вопрос нагрузки на сеть.
P.S. Я задавал этот вопрос на MySQL форумах, но все осталось без ответа
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
TM123 пишет:
Соответственно вопрос как живет этот набор данных если он связывается с переменной и остается доступным при повторном вызове mysql_query
При осуществлении взамимодействия приложения на стороне сервера приложений с СУБД Mysql произвоидтся непосредственное получение информационных полей соответствующих предполагаемому SQL-запросу - и обеспечивается их последующая передача на сторону клиента
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
LEONeso
Отправлено: 30 Января, 2011 - 01:28:59
Посетитель
Покинул форум
Сообщений всего: 499
Дата рег-ции: Янв. 2010 Откуда: Россия, Москва
Помог: 1 раз(а)
haveFun, к стати, если собирается массив и видно что $i суммируются при каждом цикле, то не легче использовать count()?
----- Для некоторых лучший способ написать что-нибудь осмысленное - это сесть _опой на клавиатуру.
JustUserR
Отправлено: 31 Января, 2011 - 19:29:15
Активный участник
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
LEONeso пишет:
haveFun, к стати, если собирается массив и видно что $i суммируются при каждом цикле, то не легче использовать count()?
Использование функции count в предполагаемом PHP-приложении в действительности позволяет осуществить улучшение визуального восприятия PHP-кода по причине локализации включаемых информационных полей - кроме того указанная модификация не обеспечивать усложнение вычислительной эффективности по причине хранения реального количества элементов массива в статическом элементе
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.