Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Apache

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Зависание страницы
 
 автор: kest131   (16.09.2005 в 22:16)   письмо автору
 
 

Есть скрипт - он выводит через функцию while различную информацию которая берется из таблицы MYsqL/

Если количество значений берущихся из таблицы превышает определенное число,страница просто зависае .(HTML код просто обрывается и дальше не выводится).

Проблема точно не в типе значения (пробовал комбинировать их и все нормально )

Значения небольшие от 1 до 30.

Что это может быть (может что-то с настройками php или apach или браузер)?

Какие настройки следует поменять?

   
 
 автор: DDK   (16.09.2005 в 22:32)   письмо автору
 
   для: kest131   (16.09.2005 в 22:16)
 

Смотрите внимательнее ваш код (а лучше приведите его здесь). Наверняка скрипт уходит в бесконечный цикл...

   
 
 автор: kest131   (16.09.2005 в 22:40)   письмо автору
 
   для: DDK   (16.09.2005 в 22:32)
 

Точно нет (пробывал ставить ограничение)
Тем более MYsql запрос который выводит информацию через while имет ограничение (limit x)

А когда в запросе ставлю допустим не limit 10 а limit 11 страница зависает.

   
 
 автор: Евгений Петров   (17.09.2005 в 01:08)   письмо автору
 
   для: kest131   (16.09.2005 в 22:40)
 

Приведите ваш код, так тяжело что то сказать.

   
 
 автор: kest131   (17.09.2005 в 18:25)   письмо автору
 
   для: Евгений Петров   (17.09.2005 в 01:08)
 

$lb = mysql_query("select*from test where id='$z2[0]' or id='$z4[0]' or id='$z6[0]' or id='$z8[0]' or id='$z10[0]' or id='$z12[0]' or id='$z14[0]' or id='$z16[0]' or id='$z18[0]' or id='$z20[0]' or id='$z22[0]' or id='$z24[0]' or id='$z26[0]' or
id='$z28[0]' or id='$z30[0]' or id='$z32[0]' or id='$z34[0]' or id='$z36[0]' or id='$z38[0]' or id='$z40[0]' or id='$z42[0]' or id='$z44[0]' or id='$z46[0]' or
id='$z48[0]' or id='$z50[0]' order by bal desc;");

while($mam = mysql_fetch_array($lb)){

++$i;

if($i<5){
echo '.......................................;

$z51 = mysql_query("select id from test2 where category='$mam[category]' and type='2' limit 1;");

$z52 = mysql_fetch_array($z51);

$lv = mysql_query("select*from test where id='$z52[0]';");

while($mum = mysql_fetch_array($lv)){

echo '..............................';
}

echo '.................................';

}

if($i>5) {
echo '.....................................';
}

if($i>'24'){break;}

}

   
 
 автор: cheops   (17.09.2005 в 18:38)   письмо автору
 
   для: kest131   (17.09.2005 в 18:25)
 

Возможно вам будет интересно, что последовательность
where id='$z2[0]' or id='$z4[0]' or id='$z6[0]'

можно заменить на
where id IN ('$z2[0]', '$z4[0]', '$z6[0]')

   
 
 автор: kest131   (17.09.2005 в 20:07)   письмо автору
 
   для: cheops   (17.09.2005 в 18:38)
 

хех.
Спасибочки.

   
 
 автор: cheops   (17.09.2005 в 01:13)   письмо автору
 
   для: kest131   (16.09.2005 в 22:16)
 

Где дело происходит (локальная машина, сервер) и много ли данных выводится на страницу (Кб)?

   
 
 автор: kest131   (17.09.2005 в 10:27)   письмо автору
 
   для: cheops   (17.09.2005 в 01:13)
 

Дело на локальной машине .
Данных на kb 40-80

   
 
 автор: cheops   (17.09.2005 в 13:03)   письмо автору
 
   для: kest131   (17.09.2005 в 10:27)
 

Apache 2 или Apache 1.3?

   
 
 автор: kest131   (17.09.2005 в 18:12)   письмо автору
 
   для: cheops   (17.09.2005 в 13:03)
 

Apache 2

   
 
 автор: cheops   (17.09.2005 в 18:35)   письмо автору
 
   для: kest131   (17.09.2005 в 18:12)
 

Поставьте Apache 1.3 с высокой степенью вероятности это пропадёт - такой глюк очень характерен для некоторых версий Apache 2.0.

   
 
 автор: kest131   (17.09.2005 в 20:04)   письмо автору
 
   для: cheops   (17.09.2005 в 18:35)
 

Поставил Apache 1.3.33

Стали зависать почти все страницы(HTML код обрывается спустя 10 - 15 Kb).

Может все же дело в каких-нибуть настройках.

   
 
 автор: cheops   (18.09.2005 в 01:14)   письмо автору
 
   для: kest131   (17.09.2005 в 20:04)
 

Хм... может дело в коде... хотя вряд ли... приложите кусок дампа, который используется в указанном выше скрипте - мы попробуем у себя на локальных машинах воспроизвести ситуацию?

   
 
 автор: kest131   (18.09.2005 в 01:33)   письмо автору
 
   для: cheops   (18.09.2005 в 01:14)
 

Привести кусок дампа?

А что такое дамп?

   
 
 автор: cheops   (18.09.2005 в 02:08)   письмо автору
 
   для: kest131   (18.09.2005 в 01:33)
 

SQL-запросы воссоздающие базу данных можно получить при помощи команды
mysql -u root base>base.sql

base - имя базы данных или в phpMyAdmin через пункт меню export.

   
 
 автор: kest131   (18.09.2005 в 12:01)   письмо автору
 
   для: cheops   (18.09.2005 в 02:08)
 

Не понимаю где и как писать эту функцию.
phpmyadmin У меня нету .
Пробовал писать в командной строке для MysqL - вызывает ошибку.
Че делоть то?

   
 
 автор: cheops   (18.09.2005 в 12:37)   письмо автору
 
   для: kest131   (18.09.2005 в 12:01)
 

У вас Far есть?

Нет в консольном клиенте этого выполнять бесполезно - это нужно делать с его помощью. Вообще нужно запустить "чистую" командную строку. Пуск -> Программы -> Стандартные -> Командная сторка. Затем потребуется пройти к директории C:/mysql/bin - это осуществляется при помощи команды
cd C:\mysql\bin

Затем выполнять команду описанную выше.

   
 
 автор: kest131   (18.09.2005 в 13:20)   письмо автору
 
   для: cheops   (18.09.2005 в 12:37)
 

Все понятно
Как привязать к функции пороль (у меня просто на юзере root пороль есть ),а то выводит


ERROR 1045 (28000) :Access denied for user 'root@localhost'  (using password: NO)


Все разобрался.

   
 
 автор: cheops   (19.09.2005 в 00:52)   письмо автору
 
   для: kest131   (18.09.2005 в 13:20)
 

Нужно указать пароль через параметр -p
mysql -u root -pXXXX base>base.sql

После параметра -p не должно быть пробелов.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования