0

可能重复:
PHP - 预选下拉选项

我的 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);
}?>

请告诉我如何才能选择一个从数据库中获取的选项。

而且它是可变的。

4

5 回答 5

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>
于 2012-08-22T09:34:37.333 回答
1

我不确定这是否是明确的方式,但您可以将代码放在每个选项单元格中,如下所示:

<option <?php if($value['city'] == "washington") echo "selected=selected"; ?> >washington</option>
于 2012-08-22T08:12:28.290 回答
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';
}

用户城市将已被选中。

于 2012-08-22T08:14:47.373 回答
1

这样你就可以得到你想要的。并更好地使用 mysqli 函数进行数据库交互。

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

          }  ?> 
 >delhi
</option>
于 2012-08-22T08:26:03.447 回答
0

只需将选定的值形式 db 像

$choosen = $some value form db

然后 $options = array(1 => 'data1', 2 => 'data2', 3 => 'data3'); foreach ($options as $key => $value) { echo '' . $价值。''; }

让你的选择框在 php.I thnk 你明白,它适用于我

于 2012-08-22T10:50:19.117 回答