2017-05-30 8 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

このような何かが、あなたはあなたがで動作するように簡単に結果を取得するには、SQLと空想何かができる通路

  <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

でご注文を確認してください。例えば

、次のクエリを使用できます。

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