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

Форум PHP

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

 

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

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

тема: Выход из вложенного цикла
 
 автор: fsn   (16.02.2008 в 22:29)   письмо автору
 
 

Подскажите пожалуйста!
Имеется код:

while($a=mysql_fetch_array($q))
{
   echo "<tr><td>$a['text1']</td><td>";
   if($a['id_parent']!=0)
   {
         show (.....) //Параметры в функции я опустил
  {
  else echo $a['text2'];
  echo "</td><td>$a['text3']</td>";
}
function show(.......) 
{
     while($b=mysql_fetch_array($e))
     {
             echo $b['text2'];
             if(......)  exit(); 
     }
}    

Если $a['id_parent']=0, то есть else то таблица заполняется вся.
Если включается конструкция if($a['id_parent']!=0) выполняется функция. При включении if(....)
происходит выход почему-то из всех циклов и таблица заполняется только text1 и text2 а text3 не отображается. Как мне выйти только из цикла в функции а первый цикл продолжить?
Пробовал breack; - цикл не останавливается, а если breack(); - пишется ошибка.
Заранее благодарен

   
 
 автор: Faraon   (16.02.2008 в 22:51)   письмо автору
 
   для: fsn   (16.02.2008 в 22:29)
 

Для начала не breack; а break
И что-то не очень понятно?

   
 
 автор: fsn   (16.02.2008 в 22:54)   письмо автору
 
   для: Faraon   (16.02.2008 в 22:51)
 

В else находится text2 а text3 находится не в нем

   
 
 автор: Faraon   (16.02.2008 в 23:02)   письмо автору
 
   для: Faraon   (16.02.2008 в 22:51)
 

Поступить можно так
else
{ echo $a['text2']; 
  echo "</td><td>$a['text3']</td>"; 
}

   
 
 автор: CrazyAngel   (16.02.2008 в 22:56)   письмо автору
 
   для: fsn   (16.02.2008 в 22:29)
 

break

   
 
 автор: bronenos (не дома)   (17.02.2008 в 00:56)
 
   для: CrazyAngel   (16.02.2008 в 22:56)
 

echo \"</td><td>$a[\'text3\']</td>\";

Не говорите что парсер не ругается о.О

   
 
 автор: JingleJingle   (17.02.2008 в 01:14)
 
   для: bronenos (не дома)   (17.02.2008 в 00:56)
 

> echo \"</td><td>$a[\'text3\']</td>\";
А где такое написано?

   
 
 автор: fsn   (17.02.2008 в 01:23)   письмо автору
 
   для: JingleJingle   (17.02.2008 в 01:14)
 

Прошу прощения, все работает, просто вместо break писал breack, чисто механическая ошибка. Бывает же такое.

   
 
 автор: bronenos   (17.02.2008 в 10:19)   письмо автору
 
   для: JingleJingle   (17.02.2008 в 01:14)
 

while($a=mysql_fetch_array($q)) 

   echo "<tr><td>$a['text1']</td><td>";
   if($a['id_parent']!=0) 
   { 
         show (.....) //Параметры в функции я опустил 
  { 
  else echo $a['text2']; 
  echo "</td><td>$a['text3']</td>"; 
}


Надо либо $a[text] либо {$a['text']}

   
Rambler's Top100
вверх

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