2016-10-02 124 views
2

当我想要显示多个表中的数据时,我确实被卡住了,即在我的例子中产品&分类表。我在下面如何用一个查询使用php和mysqli获取多个表的数据?

我有以下的PHP代码来显示数据显示的两个表PIC

<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

+0

这个问题似乎没有解决。你能提供'categories'和'products'的数据库表结构吗?然后,我们可以轻松帮助您优化查询。 ...其中可能包括SELECT部分​​中的特定列,全部大写关键字和表别名。 – mickmackusa

回答

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"; 
?> 
+0

$ query =“SELECT * FROM categories LEFT JOIN products on categories.cat_type = products .product_cat where categories.cat_type ='import'AND categories.product_cat = cat_name”;它不工作..我做错了什么 – metalhead101

+0

有你cat_type列在类别表中还有产品表中的product_cat?你有没有在product.product_cat分类项目?提供的代码在我的系统中是可以的,所以你再次检查你的数据库和表关系。 –

+0

而“categories.cat_type =产品.product_cat”不占用空间“产品(您在此写入空间).product_cat” –

-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()) { ?>
<div> HTML Code here </div> <?php } ?>

而不是
{
一些HTML
}


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

Somerhing像

echo "<div class='col-md-3'>".$row['cat_name']."</div>"

+0

我在显示子类别时出错,我添加了新的子类别...它是每次显示标题。我不想要同一类别的多个标题,而是子类别应该在图中的主类别内 – metalhead101

相关问题