php - 使用 mysql 和 PHP 在选择下拉列表中分类

标签 php mysql html

我有一张产品表。

产品:

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']).'">--&nbsp;'.htmlspecialchars($row['category']).'&nbsp;--</option>';
    $thisCat = $row['category'];
  }
  echo '  <option value="'.$row['id'].'">&nbsp;&nbsp;'.htmlspecialchars($row['Name']).'</option>';
}

echo "</select>";

...虽然您可能应该有一个类别表,并使用来自Products

的FK到该表

关于php - 使用 mysql 和 PHP 在选择下拉列表中分类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8899016/

相关文章:

php - 左对齐和右对齐CSS中的一个元素内容

php - 使用 AJAX 返回表中的所有记录

php - 我在从 php 执行 MySQL 触发器时遇到问题

mysql - 这里不能添加外键吗?

javascript - 如何从 collection.json 中获取音频文件

jquery - 如何使用 html5 css jquery 动画使 div 中的图像向下拖动?

javascript - 无法看到警报 - mvc5 通过 TempData 进行引导

php - 搜索每个单词并过滤少于 x 的字符数

mysql - 查询优化——花费太长时间并停止服务器

mysql - 重写 SQL 查询以在 heroku 上工作