2017-01-09 77 views
0

我已到處尋找答案,但我發現的所有內容似乎都過於複雜......開始認爲我無法找到它,因爲它非常簡單!將具有相同值和添加組標題的SQL行組織起來

不管怎麼說,我有食物的菜單項,所有這些都歸類爲入門,主要,甜品等

我可以輸出按類別(首發排序第一的所有項目,那麼主數據庫,然後甜點),但我想一個頭添加到每個組的頂部,使他們看起來更像這個...

首發

  • 佩特
  • 個另一個入門...

電網

  • 牛排
  • 魚&芯片
  • 其他好吃的東西

甜點

  • 你的想法...

到現在爲止我已經拿到了包含食品加入到同一個COURSE_ID一個表的表和下面的SQL產生有序列表,但沒有標題

$sql = " 
     SELECT * 
     FROM food_items 

     INNER JOIN course_id 
      ON food_items.course = course_id.course 

     ORDER BY course_id 
     "; 

然後,我已經得到了PHP ...

$result = $con->query($sql);   
if ($result->num_rows > 0) {   
while($row = $result->fetch_assoc()) 
echo '<p class="menuItem">' . $row["item"] . ' - £' . $row["price"] . '</p>'; 
}; 

我讀過有關ROLLUP,GROUP BY,ORDER BY等,但我似乎可以找出最佳的方式避免過度複雜的事情。 ..

在正確的方向的任何指針將不勝感激

乾杯提前, 馬克

回答

0

您可以保留當前的PHP代碼是,有輕微的修改。您將要添加跟蹤當前category的變量,並寫出一個新的時它的變化:

$result = $con->query($sql);   
if ($result->num_rows > 0) {   
    $curCategory = ''; 
    while($row = $result->fetch_assoc()) 
    { 
     if($curCategory != $row["category"]) 
     { 
      $curCategory = $row["category"]; 
      echo '<p class="menuCategory"><strong>' . $curCategory . '</strong></p>'; 
     } 
     echo '<p class="menuItem">' . $row["item"] . ' - £' . $row["price"] . '</p>'; 
    } 
} 

當然,你會想,以確保您的結果集從查詢相應排序。

+0

工程就像一個魅力!非常感謝你!知道它不會太複雜,但你可能會說,我是一個PHP/SQL新手! 再次感謝,非常感謝 –

相關問題