gpt4 book ai didi

php - 使用 PHP 预选 MySQL 填充的下拉列表

转载 作者:行者123 更新时间:2023-11-29 18:12:29 28 4
gpt4 key购买 nike

我有一个表单,将填充 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>"; ?>

下拉列表包含所有可选择的类别。我现在想要实现的是突出显示(或设置为位置 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>"; ?>

我怎样才能实现这个目标?

感谢您的支持!

亲切的问候,

斯特凡

最佳答案

您可以使用三元运算符来实现此目的,如下所示:

<option value="<?= $row['cat']; ?>" <?= $row['cat'] == $category ? 'selected' : ''; ?>>

三元运算符检查 true 或 false。 “?”之后的第一个选项为 true,“:”后的第二个选项为 false。如果您正在迭代的行等于您尝试设置为选定的行,则 php 将回显“选定”。

此外,您注意到我稍微改变了样式。 php 的最佳实践是让 html 成为 html,让 php 成为 php。请注意我如何回显值和三元语句,而不是回显整个 html block 。

下面是上面的代码:

<?php 
$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); ?>

<select name='parent_cat'>
<?php while ($row = mysql_fetch_array($result)) { ?>
<option value="<?= $row['cat']; ?>" <?= $row['cat'] == $category ? ' selected' : ''; ?>>
<?= $row['cat']; ?>
</option>
<?php } ?>
</select>

您可以看到,从 html 中识别 php 更加容易,反之亦然。

关于php - 使用 PHP 预选 MySQL 填充的下拉列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47287398/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com