我有 2 个表“类别”和“产品”
类别
id name
1 categoryone
2 categorytwo
产品
id categoryid product
1 1 P1
我有一个显示类别的下拉列表,但如果产品表中存在任何类别,那么它应该显示为下拉列表中预先选择的值,而其他类别应该正常显示
<?
$category="SELECT * FROM `category` ";
$resultcategory = mysqli_query($con, $category);
if(mysqli_num_rows($resultcategory)>0)
{
while($rowcategory = mysqli_fetch_assoc($resultcategory))
{?>
<option value="<? echo $rowcategory['id']; ?>"><? echo $rowcategory['name']; ?></option>
<?}
}
?><?
$category="SELECT * FROM `category` ";
$resultcategory = mysqli_query($con, $category);
if(mysqli_num_rows($resultcategory)>0)
{
while($rowcategory = mysqli_fetch_assoc($resultcategory))
{?>
<option value="<? echo $rowcategory['id']; ?>"><? echo $rowcategory['name']; ?></option>
<?}
}
?>
谁能告诉我如何做到
最佳答案
首先,您需要将选择字符串重建为如下所示:
$category = "SELECT category.*, product.categoryid".
"FROM category, product".
"WHERE category.id= product.categoryid";
然后在 PHP 代码中添加一个检查,看看它们是否像这样匹配
while($rowcategory = mysqli_fetch_assoc($resultcategory))
{
<option value="<?php echo $rowcategory['id']?>" <?php if ($rowcategory['id'] == $rowcategory['categoryid']): ?> selected="selected" <?php endif; ?>></option>
}
我的代码中可能有一百万个语法错误,但想法应该很清楚。
关于php - 在下拉列表中显示预先选择的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37482980/