Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

मैं प्रथम स्तर की श्रेणी को केवल एक बार प्रदर्शित करने के लिए कैसे प्राप्त करूं?

केवल आउटपुट catname जब यह बदलता है। आपको अपनी क्वेरी को पहले category_name के आधार पर भी ऑर्डर करना होगा।

$row = mysql_fetch_array($result);
$catname = $row["category_name"];
$subcatname = $row["subcategory_name"];
$last = $catname;

echo "<li>$catname</li><ul>"

while($row = mysql_fetch_array($result)) {
    $catname = $row["category_name"];
    $subcatname = $row["subcategory_name"];
    if($last != $catname){
        echo "</ul><li>$catname</li><ul>"
    }
    echo "<li>$subcatname</li>";
    $last = $catname;
}
echo "</ul>";

संपादित करें:बस प्रश्न को पूरी तरह से दोबारा पढ़ें और कहना चाहते हैं कि जब पदानुक्रमित पेड़ों की बात आती है, तो माता-पिता/बच्चे (या श्रेणी/उप/उप-उप) का उपयोग करना सबसे अच्छा तरीका नहीं है। हालांकि यह काम करता है, इसे आमतौर पर प्रदर्शन के लिए कई प्रश्नों और पुनरावर्ती कार्यों की आवश्यकता होती है। नेस्टेड सेट का उपयोग करना एक बेहतर तरीका है जो ठीक इसी उद्देश्य के लिए बनाया गया है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. OSX पर रेल + MySQL:लाइब्रेरी लोड नहीं हुई:libmysqlclient.18.dylib

  2. mysql/अस्पष्ट खोज के लिए लेवेनशेटिन दूरी का कार्यान्वयन?

  3. विंडोज 7 x64 में रेल के लिए MySQL ड्राइवर

  4. MySQL डेटाबेस आयात करता है लेकिन विशिष्ट तालिका को अनदेखा करता है

  5. MySQL में उपयोगकर्ताओं और प्रमाणीकरण को कैसे प्रबंधित करें