Вход / Регистрация
Вход
Формы: автовыбор ранее выбранного select`а
Чтобы автоматически был выбран именно тот checkbox, или select, необходимо сравнить выводимые данные, и если данные совпадают – дописать “ checked”.Допустим у нас есть массив данных, который выводится в цикле:
<?php
$cities = array('Москва','Киев','Лондон');
echo '<select name="city">';
foreach($cities as $v)
echo '<option value="'.$v.'">'.$v.'</option>';
echo '</select>';
В массиве cities у нас хранятся названия городов. Далее мы достаем данные и узнаем, что было выбрано ранее (допустим Киев, но это не имеет значения) и помещаем в переменную $city – город, который сейчас выбран, его и будем сравнивать (для новичков поясню, это может быть и данные из базы: myrow['city']).
Если более простым путём показать, то мы просто сравниваем $v (значение данного элемента массива) с $city, если совпадают – добавляем " selected".
<?php
$cities = array('Москва','Киев','Лондон');
echo '<select name="city">';
foreach($cities as $v) {
if ($v == $city)
{$select = ' selected';}
else
{$select = '';}
echo '<option value="'.$v.'"'.$select.'>'.$v.'</option>';
}
echo '</select>';
Но эта схема достаточно большая, поэтому предлагаю все это укоротить воспользовавшись тернарным оператором:
<?php
$cities = array('Москва','Киев','Лондон');
echo '<select name="city">';
foreach($cities as $v) {
echo '<option value="'.$v.'"'.($v == $city ? ' selected' : '').'>'.$v.'</option>';
}
echo '</select>';