2015-10-14 38 views
3

我是PHP MySQL的初学者。我成功地从数据库中获得的值INPUT类型,但在我无法从数据库中获取数据,请选择类型:从选择标记中获取数据库中的值HTML PHP MySQL

这里是我的样品编辑形式,其中性别 & 用户类型不能输出从我的数据库中的值:

enter image description here

,这里是从我创建的表中的数据: enter image description here

我通过使用此代码调用我的输入框中输入数据:

<?php $userRow['agentFname']; ?> //$userRow['ROW NAME IN TABLE']; 

但我不能调用数据,其中选择框,就像性别:用户类型这里是我的代码选择框。

<select class="form-control" name="aGender" > 
      <option selected disabled>*Gender</option> 
      <option>Male</option> 
      <option>Female</option> 

    </select> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 

    <select class="form-control" name="utype" > 
      <option selected disabled>*User Type</option> 
      <option>Agent</option> 
      <option>Team Leader</option> 
      <option>Admin</option> 
     </select> 
+1

类似这样''选项值=“男”<?php $ userRow ['agender'] =='男'? 'selected ='selected'':'';?>>男' –

+0

你需要在你的'select'下拉菜单中为所有'选项'做这个 –

+0

用户类型怎么样?我有3个选项:代理,组长,管理 – Edmhar

回答

0

我已经有自己的答案,这个 在这里,我是如何解决这个:

<select class="form-control" name="aGender" > 
    <?php 
     if ($userRow['agentGender'] == 'Male') { 

      echo "<option selected>Male</option>"; 
      echo "<option>Female</option>"; 

     } else { 
      echo "<option selected>Female</option>"; 
      echo "<option>Male</option>"; 
     } 
    ?> 
</select> 
1

@Edmhar有一个很好的答案,但它是硬编码,而不是好,如果你想添加更多的性别(变性人和什么不)。

我做的是这样的:

<?php 
$array = array("male", "female", "other"); 

echo "<select class='form-control' name='aGender' >"; 
foreach ($array as $gender) { 
    if ($gender == $databaseValue) { 
     echo "<option selected>$gender</option>"; 
    } else { 
     echo "<option>$gender</option>"; 
    } 
} 
echo "</select>"; 
?> 

而且,不要对表单元素使用disabled;使用read-only。它与disabled在视觉上做同样的事情,但disabled做它所说的。它会阻止提交给数据库的值。 read-only只是防止编辑,但不会导致表单提交问题。用户类型将遵循相同的诉讼。

0

我想你可以使用下面的条件代码针对此问题:

<?php if($userRow['aGender'] == 'Male'){ 
$selectedMale = 'selected="selected"' 
$selectedFemale = '' 
}else{ 
    $selectedFemale = 'selected="selected"' 
$selectedMale = '' 
}?> 

<select class="form-control" name="aGender" > 
      <option selected disabled>*Gender</option> 
      <option <?php echo $selectedMale ;?>>Male</option> 
      <option <?php echo $selectedFemale;?>>Female</option> 

    </select> 
的另一个选择框

和相同的。

它会有希望地工作。

0

在我看来最好在这种情况下使用三元运算符,并结合从db/array中提取的options元素。例如:

<?php $options = Array(1 => "Option 1", 2 => "Option 2") 
    <select> 
    <?php foreach($options as $key => $opt): ?> 
     <option value="<?= $key ?>" ($key == $userRow['value'] ? "selected" : "")><?= $opt ?></option> 
    <?php endforeach; ?> 
    </select> 
相关问题