以网格格式显示列和行。 MYSQL,PHP

时间:2014-10-05 16:51:17

标签: php sql grid

我一直试图想办法暂时解决这个问题,但我根本无法解决这个问题。

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>

就像我说我现在已经把它搞砸了一段时间而且我遇到了绊脚石。列数也不是设定数。

提前感谢您提供的任何帮助。

1 个答案:

答案 0 :(得分: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>";
}