gpt4 book ai didi

php - 从数据库中填充选择字段

转载 作者:搜寻专家 更新时间:2023-10-31 20:43:56 24 4
gpt4 key购买 nike

我正在尝试使用 PHP 填充 select 字段。问题是我无法弄清楚如何显示它们,因为我得到的值与数据库中的值匹配显示了两次,因为我将其回显为选中状态,然后循环显示所有结果。我怎样才能只显示与字段值匹配的 selected ,然后显示所有与所选值不匹配的值?

表格类别

cat_id  cat_name
1 soccer
2 baseball
3 basketball

表格文章

art_id art_cat_id
1 1

PHP/HTML

<select name="category">
<?php
$sql = "SELECT cat_id cat_name, art_id, art_cat_id
FROM categories LEFT JOIN articles
ON categories.cat_id = articles.art_cat_id
WHERE art_id = 1";
$result = query($sql);

if($result===false) {
echo("Query Fail");
}
else {
?>
<option value="<?php echo $data['art_cat_id'] ?>" selected="selected"><?php echo $data['cat_name'] ?></option>
<?php
while( $data = mysqli_fetch_array($result)) {

?>
<option value="<?php echo $data['cat_id'] ?>"><?php echo $data['cat_name'] ?></option>
<?php
}
}
?>
</select>

返回什么

<select name="category">
<option value="1" selected="selected">soccer</option>
<option value="1">soccer</option>
<option value="2">baseball</option>
<option value="3">basketball</option>
</select>

我在找什么

<select name="category">
<option value="1" selected="selected">soccer</option>
<option value="2">baseball</option>
<option value="3">basketball</option>
</select>

最佳答案

如果值与第一个匹配,则跳过该行。

一个片段:

    ?>
<option value="<?php echo $data['art_cat_id'] ?>" selected="selected"><?php echo $data['cat_name'] ?></option>
<?php
while( $data = mysqli_fetch_array($result)) {
if ($data['art_cat_id'] == $data['cat_id']) continue;
?>
<option value="<?php echo $data['cat_id'] ?>"><?php echo $data['cat_name'] ?></option>
<?php
}

关于php - 从数据库中填充选择字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15733454/

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