есть код сформированный через if и echo\
$k=$pole['codkorpus'];
if($k==1){
echo'<SELECT name="korpus">
<OPTION value="1"SELECTED>Классический</option>
<OPTION value="2">Слайдер</option>
<OPTION value="3">Раскладной</option>
</SELECT>';
}
elseif($k==2){
echo'<SELECT name="korpus">
<OPTION value="1" >Классический</option>
<OPTION value="2"SELECTED>Слайдер</option>
<OPTION value="3">Раскладной</option>
</SELECT>';
}
elseif($k==3){
echo'
<SELECT name="korpus">
<OPTION value="1">Классический</option>
<OPTION value="2" >Слайдер</option>
<OPTION value="3"SELECTED>Раскладной</option>
</SELECT>';
}
как можно этот же код представить через цикл?
Спустя 58 минут, 58 секунд (14.04.2010 - 17:31) DeeKeiD написал(а):
$i = 0;
while ($i++ < 50)
{
echo '<select name="korpus">';
echo '<option value="1">Классический</option>';
echo '<option value="2">Слайдер</option>';
echo '<option value="3">Раскладной</option>';
echo '</select>';
}
так ?
Спустя 12 минут, 58 секунд (14.04.2010 - 17:44) Guest написал(а):
DeeKeiD как вам сказать мне нужно именно что бы при разных значениях
$k по разному устанавливалось SELECTED> вывод в цикл я реализовал как
но я не могу сделать вывод в зависимости от значения $k вот в чем проблема
$k по разному устанавливалось SELECTED> вывод в цикл я реализовал как
<?php
$options = array(1 => 'Классический',2 => 'Слайдер', 3 => 'Раскладной');
echo'<SELECT name="korpus">';
foreach ($options as $key => $value)
{
echo "<OPTION value=$key>$value</option>";
}
echo'</SELECT>';
?>
но я не могу сделать вывод в зависимости от значения $k вот в чем проблема
Спустя 1 час, 50 минут, 23 секунды (14.04.2010 - 19:34) moskitos80 написал(а):
Вот так попробуй:
$options = array(1 => 'Классический',2 => 'Слайдер', 3 => 'Раскладной');
$pole = array(1,2,3);
function compare($i, $options)
{
for($a=1; $a<= count($options); $a++)
{
if($a==$i)$sel = 'selected';
else $sel = '';
echo '<option '.$sel.' value="'.$a.'" >'.$options[$a].'</option>';
}
}
$count = count($pole);
for($i=1; $i<=$count; $i++)
{
echo'<SELECT name="korpus">';
compare($i, $options);
echo '</SELECT>';
}
Спустя 1 час, 44 минуты, 8 секунд (14.04.2010 - 21:18) Guest написал(а):
moskitos80
большое спасибо но немного не то! тут он выдает сразу 3 списка
большое спасибо но немного не то! тут он выдает сразу 3 списка
Спустя 59 минут, 51 секунда (14.04.2010 - 22:18) moskitos80 написал(а):
Сорри - не так понял задачу, но идея то ясна надеюсь?
Я так бывает делаю динамически меняющиеся классы стилей.
if($a==$i)$sel = 'selected';
else $sel = '';
echo '<option '.$sel.' value="'.$a.'" >'.$options[$a].'</option>';
Я так бывает делаю динамически меняющиеся классы стилей.
Спустя 3 минуты, 18 секунд (14.04.2010 - 22:21) sergeiss написал(а):
Гость_Ajax - примерно так:
Иными словами, цикл вывода списка один-единственный, а для нужного элемента выводим selected. Да еще при добавлении элементов в список не нужно изменять код! Т.е. данные для списка можно брать и из БД, список будет формироваться динамически.
$values=array(1 => 'Классический',2 => 'Слайдер', 3 => 'Раскладной');
$selected=intval( $_POST['korpus']);
echo '<SELECT name="korpus">';
foreach( $values as $k => $val)
{
echo '<option value="'.$k.'" ';
if( $selected == $k ) // если была выбрана текущая опция
echo ' selected ';
echo '>'.$v.'</option>';
}
Иными словами, цикл вывода списка один-единственный, а для нужного элемента выводим selected. Да еще при добавлении элементов в список не нужно изменять код! Т.е. данные для списка можно брать и из БД, список будет формироваться динамически.