Php 在mysql中显示特定行

Php 在mysql中显示特定行,php,mysql,Php,Mysql,我有一个需要获取所有数据的表,但我需要在下拉列表中显示“type”列。现在在我的桌子上有2个绿色,1个红色和3个白色 id type_id type info1 info2 1 1 green some important data some important data 2 1 green some important data some impo

我有一个需要获取所有数据的表,但我需要在下拉列表中显示“type”列。现在在我的桌子上有2个绿色,1个红色和3个白色

id  type_id     type        info1                   info2
1   1           green       some important data     some important data
2   1           green       some important data     some important data
3   2           red         some important data     some important data
4   3           white       some important data     some important data
5   3           white       some important data     some important data
6   3           white       some important data     some important data
我想这样在php上显示它(如果代码不完整,不用担心,我知道了:D)



问题是它在列(类型)中显示所有数据,我需要在每个类型id中显示1个。我不能使用GROUP BY,因为它不会显示我在该类型下需要的信息。我怎样才能做到这一点?谢谢

获取案例中类型列表的正确方法:

SELECT DISTINCT type FROM table;

.

如果不想运行第二个查询:

<select>
    <?php
        $type=array();
        foreach($result as $r):
            $type[$r['type']] = '<option>'. $r['type'] . '</option>';
        endforeach;
        echo implode("", $type);
    ?>
</select>


如果可以运行第二个查询,阅读。

首先,您需要使用select query从表中检索所有数据。在处理查询结果集时,您需要将类型字段的所有值存储到数组中,并将array_unique函数应用于包含类型值的数组,并将foreach循环用于结果唯一数组,您可以使用distinct type填充下拉列表值。此解决方案将消除第二次查询的使用,您将能够访问存储在表中的所有必需数据。

当您检索下拉列表的数据时,请查看在SQL查询中使用DISTINCT关键字是否将值分组?他不想那样。是的,但这需要第二次询问。我想他只需要一个查询就可以得到所有的数据。如果目标是通过一个查询获得所有的数据,但要构造具有不同类型的菜单,他必须通过sql查询获得所有的数据。。。然后将“type”列中的所有记录放入数组,然后对其应用唯一的数组。这会解决问题吗?我也会这么做。我只是指出OP不想这样。
<select>
    <?php
        $type=array();
        foreach($result as $r):
            $type[$r['type']] = '<option>'. $r['type'] . '</option>';
        endforeach;
        echo implode("", $type);
    ?>
</select>