2017-05-30 23 views
0

試圖創建一個商店,但我不知道如何以正確的方式從我的數據庫中檢索信息。如何回顯類別名稱及其內容?

這是PHP抓住商店的信息,已被點擊:

require_once "core/init.php"; 
include "includes/head.php"; 
$na = $_SESSION['name']; 
$sql = "SELECT DISTINCT aisle FROM aisle WHERE brand ='$na' "; 
$pquery = $db->query($sql); 
$pql = "SELECT * FROM aisle WHERE brand ='$na'"; 
$squery = $db->query($pql); 

的循環我想:

<?php while($prod = mysqli_fetch_assoc($squery)): ?> 
     <div id="<?php echo $prod['aisle']?>" class="container"> 
      <h3><?php echo $prod['aisle']?></h3> 
      <form action="" method="post"> 
       <button> 
        <img src="fd.png" style="width: 95%" /> 
        <h4><?php echo $prod['product']?></h4> 
        <h5>$<?php echo $prod['price']?></h5> 

      </button> 
      </form> 

     </div> 
     <?php endwhile;?> 

數據庫

║ id ║ brand ║ aisle ║ product ║ price 
╠════╬═════════╬═════════╬═════════╬═══════ 
║ 1 ║ brand1 ║ snacks ║ Bitz ║ 3 
║ 2 ║ brand2 ║ drinks ║ Water ║ 1.20 
║ 3 ║ brand3 ║ snack ║ Rugi ║ 3.05 
║ 4 ║ brand4 ║ sides ║ Fries ║ 3.95 
+0

有什麼不工作? – maSTAShuFu

+0

每次創建產品時都會創建一個通道。需要它來創建一個產品,在通道內 –

+0

我看到...你將不得不使用一個變量來檢查前一個通道是否與當前通道相同,如果相同,則不會回顯通道只是回聲該產品和價格...確保你的SQL結果是通過過道訂購 – maSTAShuFu

回答

0

這樣的事情,但要確保你通過過道訂購

  <form action="" method="post"> 
<?php 
    $current_aisle = 'None' #start with NONE 
    while($prod = mysqli_fetch_assoc($squery)): 
     if $current_aisle != $prod['aisle'] { ?> <!-- check if same aisle, if not then build header --> 
      <div id="<?php echo $prod['aisle']?>" class="container"> 
      <h3><?php echo $prod['aisle']?></h3> 
     <?php $current_aisle = $prod['aisle']; } ?> <!-- reassign current aisle so the next iteration won't create the header --> 


       <button> 
        <img src="fd.png" style="width: 95%" /> 
        <h4><?php echo $prod['product']?></h4> 
        <h5>$<?php echo $prod['price']?></h5> 

      </button> 


     </div> 
     <?php endwhile;?> 
      </form> 
0

你可以做一些花哨與SQL,以獲得更容易的結果一起工作。

例如,你可以使用下面的查詢:

SELECT aisle, GROUP_CONCAT(CONCAT(product,',',price)) as product 
FROM stock 
GROUP BY aisle 
ORDER BY aisle, product ASC 

要得到這樣的結果: JSFiddle result

Here's the fiddle

+0

,結果如何顯示它到POST按鈕? – maSTAShuFu

+0

你怎麼樣?循環通過每個通道並循環通過每個產品。 – Daniel

+0

你是否在說你要在那裏放2個按鈕的零食產品? – maSTAShuFu