[help] цикл уходит в бесконечность...

Тема в разделе "PHP", создана пользователем MumiSan, 17 окт 2008.

Статус темы:
Закрыта.
Модераторы: latteo
  1. MumiSan

    MumiSan Постоялец

    Регистр.:
    14 фев 2008
    Сообщения:
    100
    Симпатии:
    86
    Суть проблемы такова.
    Имеется цикл в цикле
    PHP:
    for(...){  for(...) { } }
    который берет с базы данные и выводит как категории с под категориями.
    Но при выводе, цикл уходит в бесконечность. При попытке вывести $i - оказалось что значение $i почемуто не увеличивается.

    Перейти по ссылке

    База:
    PHP:
    DROP TABLE IF EXISTS `categories`;
    CREATE TABLE `categories` (
      `
    IDint(10NOT NULL auto_increment,
      `
    cattext NOT NULL,
      `
    numint(10NOT NULL,
      `
    main_catenum('yes','no'NOT NULL default 'yes',
      `
    id_main_catint(10NOT NULL default '0',
      
    PRIMARY KEY  (`ID`)
    ENGINE=MyISAM AUTO_INCREMENT=15 /*!40101 DEFAULT CHARSET=utf8 */;

    INSERT INTO `categoriesVALUES
    (1'Новости'0'yes'0),
    (
    2'Видео'0'yes'0),
    (
    3'Картинки'0'yes'0),
    (
    4'Чтиво'0'yes'0),
    (
    5'Flash'0'yes'0),
    (
    14'1234'0'no'3);
    Сам скрипт:
    PHP:
    $result mysql_query('SELECT * FROM `categories` WHERE `main_cat`=\'yes\' ORDER by `id`') or die( mysql_error());
    $result_numb mysql_num_rows($result);
       echo 
    "<br>$result_numb - Всего родительских категорий<br>";

    for(
    $i=0;$i<$result_numb;$i++)
       {
         echo
    '&nbsp;'.@mysql_result($result,$i,1).'<br>';

          
    $id_main_cat mysql_result($result,$i,0);  
          
          
    $select_subcat mysql_query("SELECT * FROM `categories` WHERE `id_main_cat`='$id_main_cat' AND `main_cat`='no' ORDER by `id`") or die(mysql_error());
          
    $select_ns mysql_num_rows($select_subcat);
          
          if(
    $select_ns 0)
            {
             for(
    $i=0;$i<$select_ns;$i++)
                {
                  echo
    '&nbsp; -- '.@mysql_result($select_subcat,$i,1).' ( '.$i.'  - i) <br>';
                }
            }     
            
          echo 
    "$select_ns - подкатегорий в етой категории - ( $i - i) <br><br>";
         }
    Где я протупил?
     
  2. Crazy108

    Crazy108 Создатель

    Регистр.:
    6 сен 2008
    Сообщения:
    45
    Симпатии:
    7
    if($select_ns > 0)
    {
    for($i=0;$i<$select_ns;$i++)
    {
    echo'&nbsp; -- '.@mysql_result($select_subcat,$i,1).' ( '.$i.' - i) <br>';
    }
    }

    в строке for($i=0;$i<$select_ns;$i++)
    $i заменить на что-то другое ..... например $ii
     
    MumiSan нравится это.
Статус темы:
Закрыта.