Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   PHP (http://www.flasher.ru/forum/forumdisplay.php?f=20)
-   -   <select value="?????"> (http://www.flasher.ru/forum/showthread.php?t=59380)

serzh 15.06.2004 13:38

<select value="?????">
 
Нужно решить одну проблему. Короче когда я отправляю данные формы, обрабатывается MYSQL запрос и т.д., но ниже у меня находится сама эта форма, в которой находятся уже заданные ранее значения, там есть поле "Город", такого типа:

<select name="city">
<option>москва</option>
<option>питер</option>
<option>ещё 50 городов</option>
</select>

К примеру пользователь выбрал Питер, нажал на "ок" и на следующей странице нужно сделать так чтобы он появился сверху(выбрался автомотически), переменная есть - $city.

Замудрёно, но вы наверное меня поняли, легче не объяснить. :rolleyes:

Проверять if'ом каждый город не реально, т.к. их там много и генерятся они не из базы, а просто так.

Constantine 15.06.2004 14:45

Не понятно, как это они просто так генерятся...
Нет ничего проще сделать таблицу для городов с полями cityid, cityname и идентифицировать город уже не по названию, а по номеру и тогда, выбирая эту таблицу при формировании <select>, у тебя будет:
Код:

$cityid=$_POST['city'];
...
while ($row=mysql_fetch_array($result)) {
  if ($cityid==$row['cityid']) {
    echo "<option value=\"{$row['cityid']}\" selected>{$row['cityname']}</option>";
  } else {
    echo "<option value=\"{$row['cityid']}\">{$row['cityname']}</option>";
  }
}


http 21.06.2004 07:05

serzh ну для начала в теги <option> поставь значение value. Потом, вместо city пишешь city[]

Далее всё очень просто

PHP код:

foreach($city as $cityN){} // Получаем значение переданное

$values = array ("name1", "name2"... "nameN"); // Массив, в который вписываешь все допустимые значения в select

$selected_value = $cityN;
$count = count($values) - 1;

for (
$i=0; $i<=$count; $i++){
      if (
$values[$i] == $selected_value) { $selecdet = " selected";}
      else{ 
$selected = "";}
      echo 
"<option value=$values[$i]  $selected>$values[$i] </option>";
} 

Вот и всё :))

serzh 21.06.2004 20:08

уже разобрался, спасибо.


Часовой пояс GMT +4, время: 16:44.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.