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