我有一张产品表。
产品:
id Name category
1 Sony Bravia TV
2 Samsung 32 TV
3 Kenwood Microwave
4 Sony PS3 Video Game
5 Sharp TV
...
我想在选择下拉列表中将它们显示为
-- TV --
Sony Bravia
Samsung 32
Sharp
-- Microwave --
Kenwood
-- Video Games --
Sony PS 3
有什么方法可以在 MySQL 中将其作为单个查询来执行?
我还想单独标识类别,因此当有人选择类别而不是产品时,选择选项中的 id 以某种方式将其标识为类别而不是产品(当有人选择产品时,它标识它作为一个产品)。这可能吗?
非常感谢
最佳答案
$query = "SELECT *
FROM Products
ORDER BY category, Name";
$result = mysql_query($query);
echo "<select>\n";
$thisCat = NULL;
while ($row = mysql_fetch_assoc($result)) {
if ($row['category'] != $thisCat) {
echo ' <option value="category:'.htmlspecialchars($row['category']).'">-- '.htmlspecialchars($row['category']).' --</option>';
$thisCat = $row['category'];
}
echo ' <option value="'.$row['id'].'"> '.htmlspecialchars($row['Name']).'</option>';
}
echo "</select>";
...虽然您可能应该有一个类别
表,并使用来自Products
关于php - 使用 mysql 和 PHP 在选择下拉列表中分类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8899016/