Php 如何从数据库中设置标记的值?
我正在从数据库中选择要在html/php上编辑的条目。我从中学到的代码不起作用。我需要一个更好的和有效的。我搜索过谷歌,但我看到的只是标签的默认值Php 如何从数据库中设置标记的值?,php,html,Php,Html,我正在从数据库中选择要在html/php上编辑的条目。我从中学到的代码不起作用。我需要一个更好的和有效的。我搜索过谷歌,但我看到的只是标签的默认值 $civil_status = $row[8]; //value from selecting the database <tr> <td>Civil Status:</td> <td><select name="civil_status" value='&l
$civil_status = $row[8]; //value from selecting the database
<tr>
<td>Civil Status:</td>
<td><select name="civil_status" value='<?php $civil_status ?>'>
<option value="single">Single</option>
<option value="married">Married</option>
</select></td>
</tr>
您需要在选项标记中设置selected=selected。请这样尝试
$civil_status = $row[8]; //value from selecting the database
<tr>
<td>Civil Status:</td>
<td><select name="civil_status">
<option value="single" <?php if($civil_status == 'Single') echo 'selected="selected"';?>>Single</option>
<option value="married" <?php if($civil_status == 'Married') echo 'selected="selected"';?>>Married</option>
</select></td>
</tr>
您需要选中要选择的选项,然后打印所选标记:
$civil_status = $row[8]; //value from selecting the database
<tr>
<td>Civil Status:</td>
<td><select name="civil_status" >
<option value="single" <?php $civil_status=="single" ? print "selected" : ""; ?> >Single</option>
<option value="married" <?php $civil_status=="married" ? print "selected" : ""; ?> >Married</option>
</select></td>
</tr>
你能试试这个吗
<?php
$civil_status = $row[8]; //$civil_status ='married';
$civil_statuses = array('single', 'married');
?>
<select name="civil_status">
<?php foreach($civil_statuses as $status){ ?>
<option value="<?php echo $status;?>" <?php echo if($civil_status==$status){ echo 'selected';} ?> ><?php echo ucfirst($status);?></option>
<?php }?>
</select>
你可以用快速肮脏的方式来做:
<tr>
<td>Civil Status:</td>
<td>
<select name="civil_status">
<option value="single"<?php print($civil_status == "single" ? ' selected="selected"' : ""); ?>>Single</option>
<option value="married"<?php print($civil_status == "married" ? ' selected="selected"' : ""); ?>>Married</option>
</select>
</td>
</tr>
创建选择菜单所需的任何地方都更加干净和可重复使用。ex:可能也值得解释三元运算符,考虑到问题的前提,OP可能不熟悉它。他的代码正在运行,但是的,稍微解释一下会很好:谢谢!1选择中的默认选项在选项标记中,而不是在选择标记中。2当我写简短的if语句时,我更喜欢三元运算符表达式?正确指示:错误指示;这个代码也在工作!凉的谢谢哇!这段代码很酷,这是MVC,对吗?我还没有接触过这个技巧,但我会学会的。谢谢你,伙计!!!这段代码本身并不是真正的MVC,它只是一个方便的助手方法,在没有MVC的情况下也可以工作。但说实话,我最初是在MVC框架中看到这个解决方案的:我已经尝试过这个方法,但我不知道它是如何工作的。。。非常感谢你!因此,这可以用于2个以上的选项?当然,任何数量的选项。这是工作太多,但我需要它是可重用的。无论如何谢谢你!
function select_options($options, $selected)
{
$result = "";
foreach($options as $value => $label)
{
$result .= '<option value="' .
htmlentities($value, ENT_QUOTES, "UTF-8") . '"' .
($selected == $value ? ' selected="selected"' : "") . '>' .
htmlentities($label, ENT_QUOTES, "UTF-8") . '</option>';
}
return $result;
}
<tr>
<td>Civil Status:</td>
<td>
<select name="civil_status">
<?php
print(select_options(array(
"single" => "Single",
"married" => "Married"
), $civil_status));
?>
</select>
</td>
</tr>