2014-10-05 49 views
0

我一直在試圖找出一種方法來做到這一點,現在我根本無法解決這個問題。以網格格式顯示列和行。 MYSQL,PHP

product_column product_row product_name 
__________________________________________________ 
1    1    product_1 
1    2    product_2 
1    3    product_3 
2    1    product_4 
2    2    product_5 
2    3    product_6 
3    1    product_7 
3    2    product_8 
3    3    product_9 
4    1    product_10 
4    2    product_11 
4    3    product_12 

這是該表的一個片段,我想要建立的是產品,其中product_columns是家長的div和這些列中的product_rows是孩子的div,像下面的網格狀顯示;

<div class = "parent"> 
    <div class = "child"> 
     product_1 
    </div> 
    <div class = "child"> 
     product_2 
    </div> 
    <div class = "child"> 
     product_3 
    </div> 
</div> 
<div class = "parent"> 
    <div class = "child"> 
     product_4 
    </div> 
    <div class = "child"> 
     product_5 
    </div> 
    <div class = "child"> 
    product_6 
    </div> 
</div> 

就像我說我一直在刻苦它相當長的一段時間,我已經打了一個絆腳石。列數也不是一個集合數。

非常感謝您提供我收到的任何幫助。

+0

你是怎麼從數據庫中獲取這些數據的? – 2014-10-05 16:53:10

+0

我通過SQL查詢獲取數據 – user3339243 2014-10-05 16:54:29

+0

db表中的列數不能是一個集合嗎? – lagbox 2014-10-05 16:57:05

回答

1

你可以把所有屬於該產品列在一個數組具有相同索引,這樣的事情:

$sql = "SELECT product_column, product_row, product_name FROM table"; 
$query = mysqli_query($con,$sql); 
$products = array(); 
while($row = mysqli_fetch_array($query,MYSQLI_ASSOC)){ 
    $products[$row['product_column']][] = $row; 
} 

而迭代低谷這個數組,你可以做這樣的事情:

foreach ($products as $product_column => $list_products) { 
    echo "<div class='parent'>"; 
    foreach($list_products as $product){ 
     echo "<div class='child'>".$product['product_name']."</div>"; 
    } 
    echo "</div>"; 
} 
+0

非常好,謝謝。 – user3339243 2014-10-05 18:27:47