Срочно нужна помощь! Не работает цикл

Magnat

Guest
Срочно нужна помощь! Не работает цикл

Вот такая лабуда:

PHP:
while ($i<$j) {
               echo $i."<br>";
                if ($subcat[$i]=="no") {
                        if ($hassubcat[$i]=="no") { ?>
                            <tr><td class="c3"><?=$imgarrow;?></td>
                            <td class="c2"><a href="categories.php?parent=<?=$category_id[$i];?>"><strong>
                            <? echo "$category_name[$i]";?></strong></a>
                            <? echo ((getitems($category_id[$i])>0)?"(".getitems($category_id[$i]).")":"");?>
                            </td></tr>
                        <? } else { ?>
                             <tr><td class="c3"><?=$imgarrow;?></td>
                             <td class="c2"><a href="categories.php?parent=<?=$category_id[$i];?>&show=subcats"> <strong>
                             <? echo "$category_name[$i]";?></strong></a>
                             </td>
                             </tr>
                             <? }
                  } else { ?>
                  <tr><td class="c4">&nbsp;</td>
                  <td class="c3">
                  <a href="categories.php?parent=<?=$category_id[$i];?>">
                  <? echo "$category_name[$i]";?></a>
                  <? echo ((getitems($category_id[$i])>0)?"(".getitems($category_id[$i]).")":"");?>
                  <? }

                  } ?>
Цикл должен пройтись 24 раза. Он проходит 2 и останавливается :(

Что тут может быть? Что-то я совсем нечего не пойму. Сначала он работал нормально. Потом, в один прекрасный момент перестаёт работать не с того не с сего :( Интересно как то получается :-\
 

tony2001

TeaM PHPClub
<offtopic>
кто там говорил, что РНР - сам себе шаблонизатор?
вот вам иллюстрация.
</offtopic>

Magnat
упрости код до 10-ти строк, убери из кода весь мусор, который не относится к делу и сам все увидишь.
 

Magnat

Guest
Если я правильно понимаю, то ты имеешь ввиду за $i++ :)))
Эт немножко протормозил.. но это было после.
Он и $i++ не выводит :(
 

Magnat

Guest
Да причём здесь это????
Мне помощь нужна а не твои факи. Там нечего нет.

Понимаешь.. работает.. работает.. а потом нет... стоп и всё.... и хоть ты всрись, но цикл не идёт....
 

vladax

Новичок
<offtopic>
кто там говорил, что РНР - сам себе шаблонизатор?
вот вам иллюстрация.
</offtopic>
<offtopic>:)</offtopic>
Понимаешь.. работает.. работает.. а потом нет... стоп и всё.... и хоть ты всрись, но цикл не идёт....
Ты комп со стола не ронял? :-D
 

Magnat

Guest
Originally posted by SiMM
Magnat, неправильно ты понимаешь.
PHP FAQ: Ничего не работает! Что делать???
http://www.82.207.16.50:8648
вот погляди. Там все данные которые должен этот цикл вывести выводяться изначально. Есть аська... давай поговорим по асе...

-~{}~ 16.12.04 22:09:

Originally posted by vladax
<offtopic>:)</offtopic>

Ты комп со стола не ронял? :-D
смотри линк

Я в таком же состоянии....
скоро сам со стула буду падать.... а не комп :)))
 

SiMM

Новичок
Magnat, ты думаешь мне требуется помощь? Рано или поздно тебе всё равно придётся научиться отлаживать скрипты самостоятельно - так уж учись хоть на простых примерах.
Цикл не может не идти, он всегда идёт. Именно так, как ты его написал. Если скрипт работает неожидаемым для тебя образом - этому всегда есть объяснение, и это объяснение можно получить при помощи отладки. И уж точно не при помощи форумов - никто понятия не имеет о том, что у тебя на входе этой подпрограммки.
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
где какая скобка имеет пару, где есть инкремент счетчика и т.д. я воткнуть не могу, простите :(
 

Magnat

Guest
Originally posted by SiMM
Magnat, ты думаешь мне требуется помощь? Рано или поздно тебе всё равно придётся научиться отлаживать скрипты самостоятельно - так уж учись хоть на простых примерах.
Цикл не может не идти, он всегда идёт. Именно так, как ты его написал. Если скрипт работает неожидаемым для тебя образом - этому всегда есть объяснение, и это объяснение можно получить при помощи отладки. И уж точно не при помощи форумов - никто понятия не имеет о том, что у тебя на входе этой подпрограммки.
зайди плиз http://www.82.207.16.50:8648
кликни на любой линк в категории и погляди.. я тоже не могу понять..А с отладкой знаком...

здесь в том и проблема, что ... даже незная в чём проблема.. цикл не тупо останавливаеться :-\

-~{}~ 16.12.04 22:22:

Нрод! Реально.. кто поможеть разобраться в чём дело, могу дать скрипт PHP Pro Bid. http://www.phpprobid.com

Хотябы покажите пальчиком в чём дело :(((
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
если бы еще http://www.82.207.16.50:8648 работал...=)
 

SiMM

Новичок
Re: Срочно нужна помощь! Не работает цикл

Автор оригинала: Magnat
Цикл должен пройтись 24 раза.
На каких основаниях? Телепаты - в отпуске. Когда у меня возникают проблемы - я сижу и лажу, потому что прекрасно понимаю, что никто, кроме меня, никакие ребята из клуба, не стоят за моей спиной, не видят моих скриптов и условий их работы.
 

Фанат

oncle terrible
Команда форума
tony2001
Да, хороший.
Дело ведь не в движке, а в руках.
Вот, не поленился:
PHP:
<? foreach ($data as $row): extract($row) ?> 
  <? echo $i ?><br> 
  <? if ($subcat=="no"): ?> 
    <? if ($hassubcat=="no"): ?> 
<tr><td class="c3"><?=$imgarrow;?></td> 
<td class="c2"><a href="categories.php?parent=<?=$category_id?>"><strong> 
      <? echo $category_name ?></strong></a> 
      <? echo $category_item?> 
</td></tr> 
    <? else: ?> 
<tr><td class="c3"><?=$imgarrow;?></td> 
<td class="c2"><a href="categories.php?parent=<?=$category_id?>&show=subcats"> <strong> 
      <? echo $category_name;?></strong></a> 
</td> 
</tr> 
    <? endif ?> 
  <? else: ?> 
<tr><td class="c4">&nbsp;</td> 
<td class="c3"> 
<a href="categories.php?parent=<?=$category_id?>"> 
    <? echo $category_name?></a> 
    <? echo $category_item?> 
  <? endif ?> 
<? endforeach ?>
На любом другом шаблонизаторе будет не лучше.
Логики представления не больше и не меньше. Все равно ее никуда не выкинешь. Никакой движок тебе ее не заменит.
 

SiMM

Новичок
<offtopic>
Автор оригинала: Фанат
PHP:
extract($row)
Ну вот я и получил ответ на свой вопрос ;)
PS: помниться хотел спросить - насколько на ваш взгляд допустимо применение подобных конструкций в "шаблонах".
</offtopic>
 

Magnat

Guest
Originally posted by SiMM
<offtopic></offtopic>
Ну вот я и получил ответ на свой вопрос ;)
PS: помниться хотел спросить - насколько на ваш взгляд допустимо применение подобных конструкций в "шаблонах".
Это не я писал скрипт. И ..... сейчас гляну её..
 

Фанат

oncle terrible
Команда форума
Magnat
Вот, правил твой код, и мне интересно - а зачем при <? if ($hassubcat=="no"): ?> такой большой блок? там же разница - только в ссылке?
 

Magnat

Guest
Originally posted by Фанат
tony2001
Да, хороший.
Дело ведь не в движке, а в руках.
Вот, не поленился:
PHP:
<? foreach ($data as $row): extract($row) ?> 
  <? echo $i ?><br> 
  <? if ($subcat=="no"): ?> 
    <? if ($hassubcat=="no"): ?> 
<tr><td class="c3"><?=$imgarrow;?></td> 
<td class="c2"><a href="categories.php?parent=<?=$category_id?>"><strong> 
      <? echo $category_name ?></strong></a> 
      <? echo $category_item?> 
</td></tr> 
    <? else: ?> 
<tr><td class="c3"><?=$imgarrow;?></td> 
<td class="c2"><a href="categories.php?parent=<?=$category_id?>&show=subcats"> <strong> 
      <? echo $category_name;?></strong></a> 
</td> 
</tr> 
    <? endif ?> 
  <? else: ?> 
<tr><td class="c4">&nbsp;</td> 
<td class="c3"> 
<a href="categories.php?parent=<?=$category_id?>"> 
    <? echo $category_name?></a> 
    <? echo $category_item?> 
  <? endif ?> 
<? endforeach ?>
На любом другом шаблонизаторе будет не лучше.
Логики представления не больше и не меньше. Все равно ее никуда не выкинешь. Никакой движок тебе ее не заменит.
Ну а если мы вставляем твой вариант, выдаёт только одну категорию, только уже другую....

-~{}~ 16.12.04 22:51:

Originally posted by Фанат
Magnat
Вот, правил твой код, и мне интересно - а зачем при <? if ($hassubcat=="no"): ?> такой большой блок? там же разница - только в ссылке?
не я писал скрипт, я только перевожу его на дизайн.. а тут столкнулся с такой проблемой :)))

-~{}~ 16.12.04 22:58:

$j = 24
sizeof($subcat) = числу $j
sizeof($hassubcat) = числу $j

все эти массивы заполнены.
$j не изменяеться по хожу цикла.
$i увеличиваеться на единицу при каждом проходе.

Но вместо 24 раз, он проходит 2 раза.
Пробывал и $j и $i выводить. Всё нрмально.

Да и ещё. Когда цикл останавливаеться, останавливаеться полностью работа скрипта. Т.е. дальше нечего не грузится :(

Надеюсь теперь понятно, кто там говорил, что они не телепаты
 
Сверху