在两列中选择不同,但按一分组


Select distinct in two column but group by one

我需要从数据库结果中进行选择,以制作一个菜单,如示例所示:

http://it.tinypic.com/r/2f092pv/8

记录sql示例:

领域-------产品----大类----微类----价格----

价值-------英伟达------硬件------显卡----399$----

我试过这个:

$select_MENU = "select distinct macrocategories, microcategories from catalog";
        $result_MENU = mysql_query($select_MENU);
if ($result_MENU)
        while($dati = mysql_fetch_assoc($result_MENU))
        {
        echo "<li><a>$dati[macrocategories]</a>
    <ul>
        <li><a href='index.php?microcategories=$dati[microcategories]'>$dati[microcategories]</a></li>
        </ul>";
        }
        ?>
        </ul>

结果:每个微类别的结果都有1个<li>宏类别

请帮帮我。。。

在HTML中通常有几个奇怪的地方:

// You will want to switch to PDO or mysqli prepared statements for security and deprecated reasons
// Distinct will only select unique instances in your table 
$select_MENU = "select distinct macrocategories, microcategories from catalog";
$result_MENU = mysql_query($select_MENU); ?>
<ul>
<?php
if($result_MENU) {
        while($dati = mysql_fetch_assoc($result_MENU)) { ?>
    <li><?php echo $dati['macrocategories']; ?></li>
    <li><a href="index.php?microcategories=<?php echo $dati['microcategories']; ?>"><?php echo $dati['microcategories']; ?></a></li><?php
            }
    } ?>
</ul>