2012-08-22 45 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你明白,我的作品

相关问题