我有一个表单,它将填充mysql表中的数据:
$db = mysql_connect("localhost:3306", "user", "pass");
mysql_select_db("db",$db);
$sql = "Select * from wp_awa_upload where uid = '$_SESSION[id]' and project = '$_SESSION[project]'";
//echo $sql;
$ergebnis = mysql_query($sql);
$row = mysql_fetch_object($ergebnis);
$category = $row->cat;
变量$ category包含用户先前输入的类别的名称 .
在这种形式我有一个下拉列表,将填充来自mysql表的数据:
<? $db = mysql_connect("localhost:3306", "user", "pass");
mysql_select_db("db",$db); mysql_query("SET CHARACTER SET 'utf8'"); $sql = "SELECT cat FROM subcategory order by cat asc";
$result = mysql_query($sql);
echo "<select name='parent_cat'>";
while ($row = mysql_fetch_array($result)) {
echo "<option value='" . $row['cat'] . "'>" . $row['cat'] . "</option>";
}
echo "</select>"; ?>
下拉列表包含所有可选类别 . 我现在想要实现的是在Dropdown中突出显示(或设置为1位置)$ category .
就像是
if ($row['cat'] == $category) {
echo '<option value="'.$row['cat'] .'" selected="selected">'.$row['cat'] .'</option>'; } else {
echo '<option value="'.$value.'" selected="selected">'.$value.'</option>';
}
echo "</select>"; ?>
我怎样才能做到这一点?
感谢您的支持!
亲切的问候,
斯特凡
1 回答
您可以使用三元运算符实现此目的:
三元运算符检查true或false . '?'之后的第一个选项为真,并且':'后的第二个选项为false . 如果您正在迭代的行等于您尝试设置为所选的行,则php将回显“已选择” .
另外,你注意到我改变了样式 . php中的一个最佳实践是让html成为html和php成为php . 注意我是如何回显值和三元语句而不是回显整个html块 .
所以下面是你的代码:
你可以看到从html中识别php更容易,反之亦然 .