Php 如何在动态下拉列表中设置默认值
我有一个从Php 如何在动态下拉列表中设置默认值,php,dynamic,Php,Dynamic,我有一个从MySQL数据库动态填充的下拉选择,我需要根据用户选择的记录显示默认的下拉值。到目前为止,我没有在下拉列表中显示任何值。但是我有一段代码在select option语句之外,它以粗体显示默认值。我似乎无法通过下拉菜单了解if语句逻辑 用户从数据表中选择一条记录并单击“编辑”。例如,用户选择了以灰色突出显示的行,然后单击“编辑”,将其发送到编辑表单 编辑表单:我将单位id传递给编辑表单,并根据传递的id预填充输入字段,但此处无法填充和设置默认下拉选项值 以下是下拉选择(div id下
MySQL数据库动态填充的下拉选择
,我需要根据用户选择的记录显示默认的下拉值。到目前为止,我没有在下拉列表中显示任何值。但是我有一段代码在select option语句之外,它以粗体显示默认值。我似乎无法通过下拉菜单了解if语句逻辑
用户从数据表中选择一条记录并单击“编辑”。例如,用户选择了以灰色突出显示的行,然后单击“编辑”,将其发送到编辑表单
编辑表单:我将单位id传递给编辑表单,并根据传递的id预填充输入字段,但此处无法填充和设置默认下拉选项值
以下是下拉选择(div id下拉)编辑表单背后的代码
define('DBHOST','localhost');
定义('DBUSER','root');
定义('DBPASS','********');
定义('DBNAME','fdmamaint');
如果(!$db=newmysqli(DBHOST、DBUSER、DBPASS、DBNAME))死亡(“无法连接到数据库”);
//检索用户选择的记录
$id=htmlspecialchars($_GET[“id”]);
//根据用户选择查询depunits表
$sql=“选择单位id、部门id、标题组织、短描述、长描述、单位描述、可用标识”
. “来自部门单位”
. “其中单位_id=$id”;
if(!$result=$db->query($sql)){
die(“运行查询[“$db->error.”时出错);
}
//遍历结果集并分配变量,以便稍后在脚本中引用
而($row=$result->fetch_assoc()){
$unitId=$row['unit_id'];
$divId=$row['div_id'];
$titleOrg=$row['title_org'];
$shortDesc=$row['short_desc'];
$unitDesc=$row['unit_desc'];
$longDesc=$row['long_desc'];
$enabled=$row['avail_ind'];
}
//Div Id-查询数据库以获取下拉列表选择选项
$divSelect=“从部门中选择部门id、长描述”
. “其中div_id''和avail_ind='Y'以及active_ind='Y'”
. “按部门id排序”;
if(!$divResult=$db->query($divSelect)){
die(“运行查询[“$db->error.”时出错);
}
.......
动态下拉选择:
<!-- Div Id -->
<label for="divId" class="control-label">Div Id</label>
<select class="form-control" name="divId" id="divId">
<option value=" "></option>
<?php
while ($rowDivs = $divResult->fetch_assoc())
{
$data = '37' .$rowDivs['div_id'];
// if the value of $data matches the value of div id of the
// user selected row in the database then give that option
// value the selected tag
if ( $data == $divId)
{
echo "<option value=". $data ."selected>";
echo $data ;
echo "</option>";
}
else
{
echo "<option value=". $data .">";
echo $data;
echo "</option>";
}
}
部门Id
我想出来了:
我需要使用一个内联if语句,如下所示:
<!-- Div Id -->
<label for="divId" class="control-label">Div Id</label>
<select class="form-control" name="divId" id="divId">
<option value=" "></option>
<?php
while ($rowDivs = $divResult->fetch_assoc()) {
$data = '37' .$rowDivs['div_id'];
echo "<option value=$data" .($data == $divId ? ' selected="selected"' : '') . ">$data</option>";
}
?>
</select>
部门Id
我看你的逻辑没有任何错误。我也不知道;看不到要关闭select标记的位置。可能就这么简单。@Len\u感谢您提供的结束标记语法捕获,但我在现有代码中有,只是忘了在帖子中包含它。
<!-- Div Id -->
<label for="divId" class="control-label">Div Id</label>
<select class="form-control" name="divId" id="divId">
<option value=" "></option>
<?php
while ($rowDivs = $divResult->fetch_assoc()) {
$data = '37' .$rowDivs['div_id'];
echo "<option value=$data" .($data == $divId ? ' selected="selected"' : '') . ">$data</option>";
}
?>
</select>