我有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>
<?}
}
?>
任何人都可以说出它是如何完成的
答案 0 :(得分:0)
首先,您需要将选择字符串重建为以下内容:
$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>
}
我的代码中可能有一百万个语法错误,但想法应该很明确。