如何使用php和mysqli通过一个查询获取多个表的数据?

时间:2016-10-02 17:46:10

标签: php mysql mysqli

当我想要显示来自多个表格的数据时,我确实陷入困境,即在我的情况下,产品和产品。类别表。我有两张表格如下所示

我有以下php代码来显示数据

 <div class="row">
 <?php
 require_once("connection.php");
 $query = "SELECT * FROM categories, products where cat_type = 'import' AND product_cat = cat_name";
 $result=$conn->query($query);
 while($row=$result->fetch_array()){
 ?>
 <div class="col-sm-3">
 <h5><?php echo $row['cat_name'];?></h5>
 <ul>
 <li><a href="category.php"><?php echo $row['product_title'];?></a>
 </li>
 </ul>
 </div>
 <?php } ?>
 </div>

我正在获得这样的输出

two category title for same cat

预期产出 I want my out to be like this

2 个答案:

答案 0 :(得分:1)

查询如下

 <?php
  $query = SELECT * FROM categories LEFT JOIN table2 ON categories.id=table2.id where categories.cat_type = 'import' AND categories.product_cat = cat_name";
 ?>

答案 1 :(得分:-1)

加入连接来自同一主机的数据库

<?php $query = SELECT * FROM categories LEFT JOIN table2 ON categories.id=table2.id where categories.cat_type = 'import' AND categories.product_cat = cat_name"; ?>

上面的代码工作正常。

你有什么错误?

另一件事:

从不使用

while($row=$result->fetch_array()) { ?> {
{1}}

而不是
{
一些HTML
}


使用echo并在那里输出你的div。

像左郎一样 <div> HTML Code here </div> <?php } ?>