Бесконечная загрузка страницы

DenIce

Новичок
Бесконечная загрузка страницы

Проблема такова:

при выводе на экран результата
select * from video order by -id limit 5;
все в порядке.

При изменении limit 5 на limit 10, т.е при таком запросе:
select * from video order by -id limit 10;
процесс PHP занимает в памяти ровно 5768 килобайт и происходит "бесконечная" загрузка страницы. если нажать стоп в браузере то вижу результат до 7-й записи.

проблема не в конкретно седьмой записи, т.к при любых данных в БД происходит эта же проблема но с немного другими цифрами (лимит 15~20 или 3~4).

PHP 4.4.0
MySQL 4.0.3
Windows 2003 Server

-~{}~ 24.09.06 20:21:

испавил вычисление суммы всех полей методом цикла на
$res = mysql_query("select sum(size) as sum from video;");
$sum_row = mysql_fetch_array($res);
$sum = $sum_row['sum'];
echo $sum;
все заработало.

обьясните из за чего была проблема?
 

lart

Guest
А зачем ты поставил - в запрос?

order by -id limit 5
 

DenIce

Новичок
да ёлки палки.
поставил order by -id limit 5 чтобы вывести только 5 последних записей. какое это отношение имеет к делу?
 

Андрейка

Senior pomidor developer
чет не понял.. DenIce, ты проблему решил? молодец.. что ты еще хочешь то? чтобы тебе подсказали как надо правильно? лучше не надо - у тя и так оригинально получается, зачем такой код портить?
 

DenIce

Новичок
проблема решилась на конкретной странице. переписывать фрагмент везде - нехочу. и хочу понять природу проблемы.
а то что если вы, товарищи асы, не видите решения и автоматически начинаете грубить и придираться к коду - это нормально.
 

bgm

 
DenIce
Вот я читаю твой треад-стартер, и пытаюсь понять: в чём, собственно, он заключается? Есть несколько sql-запросов, есть кусок php-кода, который ты называешь "правильным" и есть вопрос "из-за чего была проблема". Ты не находишь, что проблема в том, что у тебя не получается грамотно сформулировать свой вопрос?
 

boombick

boombick.org
[offtopic]
Ну когда люди поймут, что на форумах им никто ничего не должен...
[/offtopic]
 

b-d

Новичок
DenIce,

А ты попробуй выполнить это запрос через клиентскую программу (mysql.exe), а не через интерпретатор PHP, чтобы определить проблема ли это PHP+MySQL или только MySQL...
 

DenIce

Новичок
это проблема настройки php на сервере, т.к этот же скрипт на другом сервере вполняется.
если в пхп.ини удалить все строки (т.е пхп возмет все значения по умолчанию) то скрипт выполняется без проблем.
 

BNS

Новичок
Вместо "-id" напиши "id DESC"

честно говоря, я вообще в первый раз вижу, чтобы так писали DESC выборку ;) зачем извращаться?

-~{}~ 26.09.06 17:29:

и это не проблема мускула - это проблема нестандартного подхода... я на яваскрипте тоже могу тааакую весч написать, но работать это будет только в каком-то неизвестном науке браузере - и что, JS виноват?
 

DenIce

Новичок
пхп или подправлен методом "деления на два". проблема отпала. тему можно закрыть.
 

b-d

Новичок
DenIce,
...этот же скрипт на другом сервере вполняется
Не сказал какая версия MySQL там установлена. Еще ты не описал структуру таблицы.. В принципе, я и не думал о том что это проблема MySQL, скорее проблема связанная с SQL запросом. Поэтому и предложил сделать опыт..

хочу понять природу проблемы
.. ага, и тут же ..

пхп или подправлен методом "деления на два". проблема отпала. тему можно закрыть.
.. что за белиберда? Напиши так, чтобы тебя понял разумный чел.

Кстати,
если в пхп.ини удалить все строки (т.е пхп возмет все значения по умолчанию) то скрипт выполняется без проблем
- вранье (относительно Win32). Так как по-умолчанию модуль расширения mysql не подключается. Ла ла ла.. мы все сошли с ума.


Обычно выражения сортировки пишут в начале SELECT'а.. что-то типа SELECT *,(Bla1+Bla2-Bla3/100) AS SortColumn... ORDER BY SortColumn... В твоем случае нужно писать как подсказал BNS.
 
Сверху