2016-10-02 122 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

相關問題