-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 に答える