EOMY.NET
Хостинг EOMY.NET: Форум поддержки
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
RSS Feed  

Цикл вылетает с ошибкой

 
Начать новую тему   Ответить на тему    Список форумов EOMY.NET -> Программирование для WEB
Цикл вылетает с ошибкой
Автор Сообщение
Артур
11 1110 1000
11 1110 1000


Зарегистрирован: 22.01.2008
Сообщения: 1159
Откуда: Lietuva
7191 Монеты

СообщениеДобавлено: Вс, 28 Дек, 2008 17:10    Заголовок сообщения: Цикл вылетает с ошибкой Ответить с цитатой

Сам код

Код:
$catsmenu.= "<h2 class=\"sidebarh3\">".$W['rubrics']."</h2>";
while($categories=mysql_fetch_array(mysql_query("SELECT * from `".$pref."catt` ORDER BY `id`", $linkmain)))
   {
   if (strlen($tmp) <= 0)
      {
      $pos = false;
      }
   else
      {
      $pos = strpos($tmp, '#', 0);
      }
   if ($pos === false)
      {      
      $pos = strpos($categories['name'], '#', 0);
      if ($pos == true)
         {
         $pdname = substr($categories['name'], $pos);
         $name = substr($categories['name'], 0, $pos);
         $tmp = $name;
         $margin = 20;
         $marginall = "".$margin."px";
         $check = 1;
         }
      else
         {
         $check = 0;
         }
      }
   else
      {
      $pdname = substr($tmp, $pos);
      $name = substr($tmp, 0, $pos);
      $tmp = $name;
      $margin = $margin + 20;
      $marginall = "".$margin."px";      
      }
      if ($check == 1)
         {            
         $categories['name'] = $pdname;
         $catsmenu.=   "<style type=\"text/css\">
         .catsmargin {
         margin-left: $marginall;
         }         
         </style>";
         if ($authenter == 1 && $_SESSION['username'] >= 2)
            {
            $catsmenu.= "
            <p class=\"catsmargin\"><a href=\"http://$livesiteurl/index.php?cattitem=".$categories['id']."&act1=1\"><img src=\"http://$livesiteurl/files/images/down.png\"></a><a href=\"http://$livesiteurl/index.php?cattitem=".$categories['id']."&act1=2\"><img src=\"http://$livesiteurl/files/images/up.png\"><a href=\"http://$livesiteurl/catt/".$categories['id2']."/index.shtml\">".$categories['name']."</a></p>
            <p class=\"catsmargin\"><a href=\"".$_SERVER['PHP_SELF']."?flagr=1&IDdeleter=".$categories['id']."\"><font color=red>".$W['deletetext']."</font></a></p>";   
            }
            else
            {
            $catsmenu.= "
            <p class=\"catsmargin\"><a href=\"http://$livesiteurl/catt/".$rubs[$ir]['id2']."/index.shtml\"><img src=\"http://$livesiteurl/files/templates/$template/images/dot.png\"> ".$categories['name']."</a></p>";
            }
         }
      else
         {
//Гдето здесь кончается память
         if ($authenter == 1 && $_SESSION['username'] >= 2)
            {
            $catsmenu.= "
            <p><a href=\"http://$livesiteurl/index.php?cattitem=".$categories['id']."&act1=1\"><img src=\"http://$livesiteurl/files/images/down.png\"></a><a href=\"http://$livesiteurl/index.php?cattitem=".$categories['id']."&act1=2\"><img src=\"http://$livesiteurl/files/images/up.png\"><a href=\"http://$livesiteurl/catt/".$categories['id2']."/index.shtml\">".$categories['name']."</a></p>
            <p><a href=\"".$_SERVER['PHP_SELF']."?flagr=1&IDdeleter=".$categories['id']."\"><font color=red>".$W['deletetext']."</font></a></p>";   
            }
            else
            {
            $catsmenu.= "
            <p><a href=\"http://$livesiteurl/catt/".$rubs[$ir]['id2']."/index.shtml\"><img src=\"http://$livesiteurl/files/templates/$template/images/dot.png\"> ".$categories['name']."</a></p>";
            }
         }            
   }


Ошибка
Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 33030199 bytes)

Почему цикл переполняет всю память?

Может он слишком большых размеров?
_________________
Скрипты [PHP/JS] на заказ, в ЛС, недорого.

SAPE
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
[LP]LordPro.teus
Призрак Лорда
Призрак Лорда


Зарегистрирован: 26.07.2007
Сообщения: 5092

42282 Монеты

СообщениеДобавлено: Вс, 28 Дек, 2008 17:20    Заголовок сообщения: Ответить с цитатой

дык, он же бесконечен)
_________________

До выхода LiteDiary 0.3.0: парам-пам-пам-пам! Она уже здесь!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
lazutov
while (1==1);
Последний герой


Зарегистрирован: 30.04.2007
Сообщения: 3840

111220 Монеты

СообщениеДобавлено: Вс, 28 Дек, 2008 17:26    Заголовок сообщения: Ответить с цитатой

Цитата:
while($categories=mysql_fetch_array(mysql_query("SELECT * from `".$pref."catt` ORDER BY `id`", $linkmain)))

Сначала посчитайте $categories, потом работайте

а так бесконечен
_________________
сервис DNS | разные http, DNS и прочие утилиты
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Артур
11 1110 1000
11 1110 1000


Зарегистрирован: 22.01.2008
Сообщения: 1159
Откуда: Lietuva
7191 Монеты

СообщениеДобавлено: Вс, 28 Дек, 2008 17:30    Заголовок сообщения: Ответить с цитатой

lazutov
В БД 5 категорий каждая из каторых занимает 3 столбца
_________________
Скрипты [PHP/JS] на заказ, в ЛС, недорого.

SAPE
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
[LP]LordPro.teus
Призрак Лорда
Призрак Лорда


Зарегистрирован: 26.07.2007
Сообщения: 5092

42282 Монеты

СообщениеДобавлено: Вс, 28 Дек, 2008 17:31    Заголовок сообщения: Ответить с цитатой

uforum
условие всегда-всегда будет выполняться. Потому цикл никогда не завершится.
_________________

До выхода LiteDiary 0.3.0: парам-пам-пам-пам! Она уже здесь!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Артур
11 1110 1000
11 1110 1000


Зарегистрирован: 22.01.2008
Сообщения: 1159
Откуда: Lietuva
7191 Монеты

СообщениеДобавлено: Вс, 28 Дек, 2008 17:37    Заголовок сообщения: Ответить с цитатой

Спасибо разобрался

Надо было так

Код:
$resultcats = mysql_query("SELECT * from `".$pref."catt` ORDER BY `id`", $linkmain);
while($categories=mysql_fetch_array($resultcats))

_________________
Скрипты [PHP/JS] на заказ, в ЛС, недорого.

SAPE
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
DEXIF
#!/bin/bash
Согнул ложку


Зарегистрирован: 27.09.2006
Сообщения: 919
Откуда: Минск
49930 Монеты

СообщениеДобавлено: Вс, 28 Дек, 2008 17:38    Заголовок сообщения: Ответить с цитатой

Сообщение удаленоSmile
_________________


S
|D|EG| Let's Rock! | XAP в ЛИЧКУ, SAPE
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов EOMY.NET -> Программирование для WEB Часовой пояс: GMT
Страница 1 из 1

 


EOMY TOP 100 Rambler's Top100   Рейтинг@Mail.ru    



Powered by phpBB © 2001, 2005 phpBB Group


Рейтинг SIMPLETOP.NET