2012-05-30 2 views
1

У меня есть раскрывающееся меню, из которого пользователь может выбрать местоположение. Это сохраненные настройки, поэтому, если пользователь хочет изменить эти параметры, я бы хотел, чтобы ранее сохраненное значение заполнило список.заполнение значения выпадающего выделения с помощью php

Местоположение и его идентификатор выбраны из таблицы с указанием местоположений, однако только местоположение сохраняется в таблице с именем userinfo. Я не уверен, как начать заполнять список выбора снова, учитывая, что идентификатор используется в процессе выбора в первый раз.

Это то, что я имею прямо сейчас, чтобы просто выбрать покой. Я бы хотел, чтобы это заполнило ранее сохраненное местоположение. Это часть более крупной формы, поэтому нет меток формы.

<? 
$sql = mysql_query("select locationsid,locationsName from locations"); 
$selection=""; 
while ($row=mysql_fetch_array($sql)){ 
    $id=$row["locationsid"]; 
    $locationName = $row["locationsName"]; 
    $selection.="<OPTION VALUE=\"$id\">".$locationName; 
} 
?> 
<!--select location - used for reach location --> 
<h4>Nearest Location</h4> 
<table> 
<tr><td>Location:</td><td><select name ="location"><Option value="<? echo selection2; ?>">Choose Location<? echo $selection; ?></Select></td> 
</table> 

Я предполагаю, что я должен был бы запрашивать базу данных, чтобы получить сохраненное местоположение (в USERINFO таблицы), затем найдите идентификатор для этого места из таблицы местоположений. Отсюда я не совсем уверен, как заполнить это в поле выбора значения.

$locationLookup = mysql_query("select location from userinfo where userid = $userid"); 
$locationLookup = mysql_fetch_array($locationLookup); 
$location = $locationLookup['location']; 
$idlookup = mysql_query("select locationsID from locations where locationsName = '$location'"); 
$idlookup = mysql_fetch_array($locationid); 
$idlookup = $locationid['locationsID']; 

Итак, это даст мне имя и идентификатор, как я могу установить это как значение в списке выбора?

+0

вы не закроете '< option' блоки –

ответ

1

После получения $idlookup:

$idlookup = $locationid['locationsID']; 

использовать его внутри while цикла:

while ($row=mysql_fetch_array($sql)){ 
    $id=$row["locationsid"]; 
    $locationName = $row["locationsName"]; 
    $selected = ($id == $idlookup) ? 'selected="selected"' : ''; 
    $selection.="<OPTION " . $selected . " VALUE=\"$id\">".$locationName."</OPTION>"; 
} 
+0

работал отлично. Спасибо! – user1406951

Смежные вопросы