我有三张桌子
类别
id
nameSub_Categories
id
name
category_idSub_categories_three
id
name
sub_categories现在,我希望在下拉列表中显示这些表中的所有数据(名称),执行此操作的查询是什么,以及如何使用foreach或mysqli_fetch_assoc()在视图(嵌套循环)上设置它们。
我使用这个查询
$query="SELECT a.c_name,a.id, b.sc_name,b.id ,c.sct_name,c.id
FROM categories a
right JOIN sub_categories b ON a.id=b.id
right JOIN sub_categories_three c ON b.id=c.id ";但是这个查询返回的空值也填充了我的dropdown标签中不必要的空格。
下面是函数代码
public function category(){
$query="?";
$conn=$this->Connection();
$result = mysqli_query($conn,$query);
$num_rows = mysqli_num_rows($result);
if ($num_rows>0) {
return $result;
}
}以下是index.php代码
<select name="category_id">
<?php $result = $obj->category();
while ($row=mysqli_fetch_array($result)) { ?>
<option><?php echo $row['name'] ?></option>
<?php } ?>
</select>发布于 2019-07-03 20:15:59
使用joins来获得表的组合。我会不假思索地说:
$query = "SELECT categories.name, subcategories.name, subcategoriesthree.name FROM categories INNER JOIN sub_categories ON categories.category_id= subcategories.subcategory_id AS result1 INNER JOIN sub_categories three ON result1.subcategory_id = sub_category_three.id我想这应该可以了。
有关联接的详情,请参阅:https://www.w3schools.com/sql/sql_join.asp
发布于 2019-07-03 21:17:23
您可以使用SQL内连接来获取这三个表中的数据。因此,答案应该是:$query = "SELECT a.name AS Name, b.name AS CategoryName, c.name AS SubcategoryName FROM categories a INNER JOIN Sub_Categories b ON a.id=b.id INNER JOIN Sub_Categories_three ON b.id=c.id"
https://stackoverflow.com/questions/56868775
复制相似问题