Маркиране на определен елемент в select формуляр

Harry_Potter_

Registered
Имам една система в която потребител може да си избира в един select формуляр неща от рода на рождена дата,какъв домашен любимец има и т.н.Как да направя във формуляра за редакция въпросното нещо което е избрано първоначално да се маркира (тоест дадения option да бъде маркиран)?
В случай че не сте разбрали става дума за нещо такова:
Код:
<select name="test">
<option value="1">1</option>
<option value="2">2</option>
</select>
Потребителя избира да кажем 1 и след време решава, че иска да го промени.как да направя така че преди да го промени формуляра да му изглежда така
Код:
<select name="test">
<option selected value="1">1</option>
<option value="2">2</option>
</select>
Тоест първоначалния му избор автоматично да се маркира.Системата работи с mysql.Благодаря предварително
 
Да, но въпроса е как да направя проверката с PHP кой от елементите е бил посочен първоначално и да го маркира него?
 
Еми то ако го записва в базата данни неговия избор, после като пишеш всичкия тоя код със Select, даваш от базата данни SELECT `izbor` FROM `tablica` WHERE `user`= бла бла, и си го пазиш.

И после при съставянето на <option> гледаш:
if ($tvakoetoeizbral) { echo "selected"; }
Схващаш ли?
 
Да но искам да излиза целия списък.Тоест:
В базата данни да кажем имам 4 полета(ID|USER|Pass|Pole).В pole записвам някаква цифра или някъкъв текст(без значение).Селект формуляра искам да съдържа всички възможности и когато се зареди страницата за промяна да ги има всички и да е селектната тази стойност, която я има в pole.Мога да направя отделна проверка за всяко едно поле, но ако са твърде много option-и ще стане 50000 реда код...
 
Ми не мога да дам експертно мнение, не съм професионалист, но според мен това е начинът - с проверка
Можеш да ползваш цикъл, в случай, че select-ът е с цифрички:

Код:
for ($i = 1; $i<10; $i++) {
  if ($i != $izborotbazatadanni) { echo "<option ...........>\n"; }
  else { echo "<option ..... selected>\n"; }
}

Иначе ако изборите ги има в няква база данни, можеш да ги select-неш от нея и да имаш
Код:
while ($asd=mysql_fetch_array($zaqvka)) {
    if ($asd != $izborotbazatadanni) { echo "<option ...........>\n"; }
   else { echo "<option ..... selected>\n"; }
}

А сега се сетих, че можеш и да си ги зададеш в масивче:

Код:
$opcii = array("Куче", "Коте", "Мишка", "Прасе", "Крава", "Кон");
foreach ($opcii as $jivotno) {
  if ($jivotno != $izbornaklienta) { echo "<option value=\"".$jivotno."\">".$jivotno."</option>\n"; }
  else {  echo "<option value=\"".$jivotno."\" selected>".$jivotno."</option>\n";  }
}
 

Back
Горе