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

Форум PHP

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

 

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

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

тема: Помогите остановить цикл
 
 автор: magic   (13.01.2009 в 00:03)   письмо автору
 
 

Люди добрые помогите. Подскажите пожалуйста как остановить цикл. Есть такая задача, я может вообще не правильно подошел к ней, посоветуйте. Есть таблица, ее надо заполнить числами. Эти числа приходят из формы, но не все. Вот тут и начинается проблема. Те которые не приходят надо найти и вписать в пустые ячейки. Вот, я это делаю с помощью цикла, на каждую ячейку я прокручиваю цикл и того числа которого нет я вписую в свободную ячейку. Так задумывалось , проблема в том что в ячейку вписуются ВСЕ числа которые прогоняет цикл, кроме естейственно тех которые пришли из формы, как остановить цикл что бы вписать одно число. Вот кусок кода
echo "<td>"; if(empty($a1) 
             {
      for($i=0; $i<=9; $i++)
      {
                  if($a2!=$i&&$a3!=$i&&$a4!=$i)
                  {echo $i; }
                  if(!empty($i)) break;
                   
      }
           }
           else echo $a1;
           echo "</td>

  Ответить  
 
 автор: amigo63   (13.01.2009 в 10:25)   письмо автору
 
   для: magic   (13.01.2009 в 00:03)
 

Так ведь вы echo "<td>"; и echo "</td>"; вынезли ЗА цикл. Поэтому все числа в одну ячейку лезут.
Чтобы каждое в своей сидело, вставьте эти команды внутрь цикла.
И... Мне кажется, условие if(empty($a1) тоже должно быть в цикле... Или я не так понимаю? =)

  Ответить  
 
 автор: magic   (13.01.2009 в 11:25)   письмо автору
 
   для: amigo63   (13.01.2009 в 10:25)
 

Начнем с конца, условие if(empty($a1) оно помойму и так стоит в цикле :), смотреть фигурные скобки. Что касается <td></td> в моем варианте. цикл находится внутри этих тегов. он переберает числа в диапозоне и выводит то число которое нет в других, тут вот и проблема остановить цикл. когда есть первое уникальное число (т.е. не встречающееся не в одной ячейке). Я повторюсь, это мой вариант, может он и не правильный, подскажите пожалуйста. Спасибо.

  Ответить  
 
 автор: amigo63   (13.01.2009 в 12:48)   письмо автору
 
   для: magic   (13.01.2009 в 11:25)
 

а может тогда так:

<?
echo "<td>"
             
$i=0;
      while(empty(
$a1)) 
      { 
                  if(
$a2!=$i&&$a3!=$i&&$a4!=$i
                  {
                     
$a1=$i
                  } 
           
$i++;
      } 
           echo 
$a1
           echo 
"</td>";
?>

  Ответить  
 
 автор: magic   (13.01.2009 в 21:52)   письмо автору
 
   для: amigo63   (13.01.2009 в 12:48)
 

Спасибо большое. Вроде все сраслось

  Ответить  
Rambler's Top100
вверх

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