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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Постоянная подгрузка страницы 
:(
    Опции темы
Areostar
Дата 14.7.2011, 10:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Сама страница работает ноимально. подключаю к ней скриптик который должен сформировать на странице список(на основе бд).

   Запускаю, вуроде страница появляется и список на месте, но загрузка продолжается! и страница в конце концов зависает. Может это с локолхостом проблема(xampp) или что!

   Скриптик простой совсем но я его приведу здесь:
Код
 <?php

         include("db_connect.php");
         
         $resut_array = Array();
         $sub_result_array = Array();
         
         $main_count = 0;
         $sub_count = 0;         
        
         function getInformation($lang)
         {
             global $result_array;
             global $main_count;
             
             $_query ="Select * From `main_menu_table` Where `langua` = '$lang' Order By `order`";
             $result = mysql_query($_query) or die("Statement isn't complited");
             
             $main_count = mysql_num_rows($result);
             echo"$main_count -";
             while ($record = mysql_fetch_array($result))
               {   $result_array[] = $record;   }
         }
         
         function sub_getInformation($lang, $categ)
         {
             global $sub_result_array;
             global $sub_count;
             
             $_query ="Select * From `sub_menu_table` Where `langua` = '$lang' && `category` = '$categ' Order By `order`";
             $result = mysql_query($_query) or die("Statement isn't complited");
             
             $sub_count = mysql_num_rows($result);
             
             while ($record = mysql_fetch_array($result))
               {   $sub_result_array[] = $record;   }
         }
          
         function print_menu($lang)
         {
             global $result_array;
             global $sub_result_array;
             
             global $main_count;
             global $sub_count;
             
             getInformation($lang);
             echo"$main_count <ul>";
             for($i = 0; i < $main_count; $i++)
             {
                 $row = $result_array[$i];
                 $capture = $row["text"];
                 $categ = $row["category"];
                 
                 sub_getInformation($lang, $categ);
                 
                 if($sub_count == 0)
                 {
                     echo"<il><a>$capture</a></il><br />";
                 }
                 else if($sub_count != 0)
                 {
                     echo"<il><a>$capture</a><ul>";
                     for($j = 0; $j < $sub_count; $j++)
                     {
                         $_row = $sub_result_array[$j];
                         $_capture = $_row["text"];

                         echo"<il><a>$capture</a></il><br />";
                     }
                     echo"</ul></il>";
                 }
             }
             echo"</ul>";
         }
     ?>

PM MAIL   Вверх
Guedda
Дата 14.7.2011, 10:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Подрывник
****


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

Репутация: 13
Всего: 78



Ставь точки останова (допустим, exit()) после каждой строчки (нативно), и смотри, где будет скрипт останавливаться, а где будет продолжать грузиться. Строчка выше точки и будет проблемной строкой. Тогда здесь конкретизируешь, и мы рассмотрим проблему. А может и ты ее сам найдешь. А еще сделай подсветку нормальной.


--------------------
Ll 2
PM MAIL WWW ICQ Skype GTalk   Вверх
NFL
Дата 15.7.2011, 13:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 137
Регистрация: 5.5.2009

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



Код

error_reporting(E_ALL);
ini_set('display_errors', 1);


Код

 $result = mysql_query($_query) or die(mysql_error());


А дальше смотреть ошибки пхп.
Никаких exit; в принципе не надо

Добавлено через 2 минуты и 4 секунды
global $result_array;
global $sub_result_array;
global $main_count;
global $sub_count;

в каждой функции это не нужно, они объявлены ВНЕ функций, т.е., в глобальной области видимости.

Ну и ттак далее ;)
PM MAIL   Вверх
vencendor
Дата 18.7.2011, 09:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 10.12.2009

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



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

Сделайте вывод переменных ($main_count $result_array) после запуска функции через print_r() и посмотрите если все нормально. 

                 
Код

    for($j = 0; $j < $sub_count; $j++)
                     {
                         $_row = $sub_result_array[$j];
                         $_capture = $_row["text"];

                         echo"<il><a>$capture</a></il><br />";
                     }
                     echo"</ul></il>";


тут по логике нужно выводить переменную $_capture а не $capture, иначе получается что выводится родительская категория еще раз. 
это 
 echo"<il><a>$capture</a></il><br />";
на 
 echo"<il><a>$_capture</a></il><br />";


в остальном вроде все хорошо. Вопрос в структуре данных которые мы получаем из mysql 
PM   Вверх
NFL
Дата 18.7.2011, 16:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 137
Регистрация: 5.5.2009

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



vencendor, глобальные переменные это вообще не очень правильно, как по мне smile 

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




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


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

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