2012-08-22 44 views
0

可能重複:
PHP - PRE-select drop down option已在下拉列表中,也changeble在頁面加載所選的選項

我在我的PHP項目的情況下,用戶可以編輯自己的帳戶。

在編輯中,有一個城市字段是城市的下拉列表。

我想在編輯之前選擇一個在配置文件中的城市(用戶在註冊時輸入的城市)。

另外,他可以通過選擇fron下拉列表來改變他的城市。

HTML代碼:

<div class="search_bar1_txt">State:</div> 
<div class="search_bar1"> 
<select class="styled" name="state_trainer"> 
<option>-select-</option> 
<option>washington</option> 
<option>perth</option> 
<option>delhi</option> 
<option>london</option> 
</select></div> 
</div> 

在編輯我使用此代碼來獲取用戶當前數據(城市):

<?php 
if(isset($_GET['userid'])) 
{ 
$sql = "select city from `wp_pelleresuser` where userId =".$_GET['userid']; 
$result = mysql_query($sql); 
$value = mysql_fetch_assoc($result); 
}?> 

請告訴我,我怎麼能得到已經選擇了一個選項,從數據庫中獲取。

而且它也是可以改變的。

+0

看到這個:http://stackoverflow.com/questions/1336353/how-do-i-set-the -selected-item-in-a-drop-down-box-php-mysql-databound – Tim

回答

1

你可以做到這一點在許多方面,最簡單的(可能至少優雅)是這樣做的:

<select class="styled" name="state_trainer"> 
<?php 
$myCity='london'; // assumed to be data from database... 
echo '<option'.($myCity=='-select-') ? ' selected ' : ' ' .'-select-</option>'; 
echo '<option'.($myCity=='washington') ? ' selected ' : ' ' .'washington</option>'; 
?> 

這當然是可怕的。

我寧願建議您在將數據從數據庫中拉出並將您的初始下拉列表放在一起時檢查數據。

如果您正在創建一個數據數組以創建下拉列表(例如),請在此處檢查它。如果這個城市與你想要的相匹配,那就在你的循環內進行,直到蝙蝠。

$usersCity="london"; 
$myCityList=array(); 

while(...) // Database loop that is pulling the data from the database. 
{ 
    $selected=''; 
    if($userCity==$row['city']) 
    { 
     $selected=' selected '; 
    } 
    $myCityList[]='<option'.$selected.'>'.$row['city'].'</option>'; 
} 

然後顯示在下拉列表中,你可以簡單地這樣做:

$cityCount=count($myCityList); 
for($i=0;$i<$cityCount;$i++) 
{ 
    echo $myCityList[$i].'\n'; 
} 

的用戶我市將已被選中。

+0

謝謝@ fliffesh,它的工作原理! – Gaurav

1

我不知道,如果是明確的方式,但你可以把這樣的代碼的每一個選項單元格內:

<option <?php if($value['city'] == "washington") echo "selected=selected"; ?> >washington</option> 
1

這樣你就可以得到你想要的東西。 更好地使用mysqli函數進行數據庫交互。

<option 
<?php if ($value['city'] == delhi) 
      { 
           echo "selected = true"; 

      } ?> 
>delhi 
</option> 
2
<div class="search_bar1_txt">State:</div> 
<div class="search_bar1"> 
    <select class="styled" name="state_trainer"> 
    <option <?if($value['city']=='-select-') echo "selected";?>>-select-</option> 
    <option <?if($value['city']=='washington') echo "selected";?>>washington</option> 
    <option <?if($value['city']=='perth') echo "selected";?>>perth</option> 
    <option <?if($value['city']=='delhi') echo "selected";?>>delhi</option> 
    <option <?if($value['city']=='london') echo "selected";?>>london</option> 
    </select> 
</div> 
</div> 
0

只要惱火的選定值形式分貝像

$choosen = $some value form db 

然後 $選項=陣列(1 => 'DATA1',2 => '數據2',3 =>' DATA3' ); foreach($ options as $ key => $ value) { echo''。 $值。 ''; }

獲得在php.I您的選擇框thnk你明白,我的作品

相關問題