将数据库提取到树中
问题描述:
我有一个这样的数据库,用于餐厅自动化系统,我正在编码以获取有关php和mysql的体验。将数据库提取到树中
productcat | productname | productdesc | price |
-------------------------------------------------------
Drink | Coke | Ice cold coke | 3
Drink | Sprite |Ice cold sprite| 3
Food | Kebab |Delicious kebab| 10
Food | Rice | Delicious rice| 5
我想将它们提取到按类别划分的树中。
$data = mysql_query("SELECT * FROM $restadi")
or die(mysql_error());
//urunler kategorilerinin altina yerlestiriliyor
echo '<div id="menu">';
echo '<ul>';
while($db = mysql_fetch_array($data))
{
echo '<li class="kategori"><a href="#">'.$db['productcat'].'</a></li>';
echo '<ul class="urun"><li><a href="#">'.$db['productname'].'</a></li></ul>';
}
echo '</ul>';
echo '</div>'
很明显,这不符合我想要的方式。我怎样才能达到我想要的?
在此先感谢,并对我的马虎英语感到抱歉。
答
如果你想不想做的结果在PHP中的树,你可以试试这个:
$data = mysql_query("SELECT * FROM $restadi ORDER BY productcat");
//urunler kategorilerinin altina yerlestiriliyor
echo '<div id="menu">';
echo '<ul>';
$lastCategory = "";
while($db = mysql_fetch_array($data))
{
if ($lastCategory != $db['productcat']) {
// close opened ul of subitems (skip first false positive change of category)
if (!empty($lastCategory)) {
echo '</ul>';
}
echo '<li class="kategori"><a href="#">'.$db['productcat'].'</a></li><ul class="urun">';
$lastCategory = $db['productcat'];
}
echo '<li><a href="#">'.$db['productname'].'</a></li>';
}
// if there was at least one product, close last product list
if (!empty($lastCategory)) {
echo '</ul>';
}
echo '</ul>';
echo '</div>';
+0
是的,这只是我想要的方式。谢谢! – CanNuhlar
用手先建的HTML。这会告诉你如何构建PHP。 –