簡體   English   中英

mysql表中的echo類別和子類別

[英]echo Categories and Subcategories from mysql table

我有這個問題,我有一個'產品表',它包含產品描述,價格,類別,子類別和其他一些行。

我有這個php塊,它應該檢索並回應一個帶有類別和子類別的動態手風琴並修剪重復項。

我覺得我很近,但我可能會在幾英里之外。

<?php
    $sql = mysql_query("SELECT DISTINCT category FROM products");
    while($row = mysql_fetch_array($sql)) {
    $category = $row['category'];

    $sql2 = mysql_query("SELECT DISTINCT subcategory FROM products WHERE category = '$category'");
    while($row = mysql_fetch_array($sql2)) {
    $subcategory = $row['subcategory'];
    echo '<h3><a href="#">'.$category.'</a></h3>
            <div>
             <p><a href="#">'.$subcategory.'</a></p>
            </div>';
    }}
?>

問題是我得到了重復的類別..

在此輸入圖像描述

問題是,你是呼應了主要類別<h3>嵌套子類別中while循環。 簡單的解決方法是while循環時將其移動到外部主類別中。

你也在你的嵌套循環中重用$row變量,這很邋and並且可能導致混亂。 為了清晰起見,我將這兩個變量重命名為$rowCategory$rowSubCategory

<?php
$sql = mysql_query("SELECT DISTINCT category FROM products");
while($rowCategory = mysql_fetch_array($sql)) {
  $category = $rowCategory['category'];
  // move main categories up and out here
  echo '<h3><a href="#">'.$category.'</a></h3>';

  $sql2 = mysql_query("SELECT DISTINCT subcategory FROM products WHERE category = '$category'");
  while($rowSubCategory = mysql_fetch_array($sql2)) {
  $subcategory = $rowSubCategory['subcategory'];
  // just echo subcategories here
  echo '<div>
          <p><a href="#">'.$subcategory.'</a></p>
        </div>';
  }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM