-1

我正在整理一个 PHP/mySQL 表单,而这两者只有基本知识。对于表单上的第一个下拉列表,我想从 mySQL 数据库中提取选项。我已将其设置如下:

<?php
$query = "SELECT * FROM test";
$result = mysqli_query($link , $query);
?>
Select your group number:
<select name="group">
<?php
while ($line = mysqli_fetch_array($result, MYSQL_ASSOC)) {
?>
<option value="<?php echo $line['group'];?>"><?php echo $line['group'];?></option>
<?php
}
?>
</select>

但是,即使它们相同,这也会返回每个组值,因此我最终会得到重复项(图 1)。我想对所有类似的值进行分组(图 2)。

在此处输入图像描述

我知道使用 GROUP BY 可能会完成此操作,但是当我在我的代码中包含 GROUP BY 时,我的下拉列表只是空的。

$query = "SELECT * FROM test GROUP BY group";

我在使用 GROUP BY 时犯了错误吗?

注意: “组”是我要获取的列的 ID。

4

1 回答 1

1

group 不是字段的好名称,因为它是 mysql 中的保留字。

您可以这样做,但您的查询需要如下所示:

$query = "SELECT * FROM test GROUP BY `group`";

请阅读: 如何转义用作列名的保留字?MySQL/创建表

这: http ://dev.mysql.com/doc/refman/5.1/en/reserved-words.html

于 2013-07-15T19:39:48.030 回答