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

Форум PHP

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

 

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

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

тема: код цикла с условием
 
 автор: tima2010   (02.09.2011 в 16:14)   письмо автору
 
 

видимо плохо циклы изучил или все таки как такое можно реализовать?

вывожу дни в тегах option, чтобы не писать кучу кода вставляю цикл, проблема в том чтобы добавить свойство selected если день совпадает с указанным выше, меньше слов больше кода:


<?php

// вот это условие в цикле должно выполняться
// но пихать код прямо в цикл не охотно, чтобы 31 раз выполнялось условие ... :)

if($i == $day) {$selected 'selected="selected"'; } else { $selected ""; }

echo 
'<select name="day">';
for ( 
$i=1$i<=31$i++) { 
echo 
"<option value=\"$i\" $selected>$i</option>\n"

echo 
'</select>';

?>


есть ли какой нибудь вид цикла позволяющий выполнять подобное условие ?

  Ответить  
 
 автор: Valick   (02.09.2011 в 16:22)   письмо автору
 
   для: tima2010   (02.09.2011 в 16:14)
 

самое простое это все таки запихать условие в цикл :)
но если жизнь кажется медом, то можно разделить список на две части, от 1 числа до сегодня и от сегодня до 31, получиться 2 цикла и селектед между ними))

  Ответить  
 
 автор: f111   (02.09.2011 в 17:37)   письмо автору
 
   для: tima2010   (02.09.2011 в 16:14)
 

ну найдёшь ты дату без цикла, а как вставишь 'selected="select в нужный option, через str_replace? зачем?

короче, не ищи того чего нет, используй цикл по старинке.

<?php

echo '<select name="day">';
for ( 
$i=1$i<=31$i++)

echo 
"<option value='$i'".(($i == $day)?'selected="selected"':'').">$i</option>\n"

echo 
'</select>';

?> 


p.s. если php 5.3 и любовь к тернарному то можно и - echo 1 ?: 0; //вывод: 1

  Ответить  
 
 автор: tima2010   (05.09.2011 в 09:02)   письмо автору
 
   для: f111   (02.09.2011 в 17:37)
 

Благодарю, буду знать

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

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