Hi我有一个SQL查询,它返回结果,然后需要进入表单的下拉列表,但是结果可能看起来像这个
Number Machine Description
09/14/0075 ZW01010 Back Left Armrest F55
09/14/0075 ZW01010 Back Right Armrest
09/14/0075 ZW01010 Front Left Hand Armrest F55
09/14/0075 ZW01010 Front Right Armrest F55
10/14/0060 ZW01010 Left Hand Armrest Substrate
10/14/0060 ZW01010 Right Hand Armrest Substrate
目前我有这个,但创建溺水箱的代码
<select name="WoNo">
<?php
foreach (PersonData::WoName(session::get('Machine')) as $a) {
echo '<option value=' . $a["SecondRef"] . '>' . $a["Description"] . ' </option>';
}
?>
</select>
目前,这将每个记录作为一个选项放在那里,但我唯一关心的表单值是数字列,但我确实需要那里的每个描述,所以我如何调整我的代码以将数字列中具有相同值的分组,
下面是一个例子,我给的表格例子
Option 1: Back Left Armrest F55, Back Right Armrest, Front Left Hand Armrest F55, Front Right Armrest F55
Option 2: Left Hand Armrest Substrate, Right Hand Armrest Substrate
或者如果有可能的话,更好的格式是
Option 1: Back Left Armrest F55
Back Right Armrest
Front Left Hand Armrest F55
Front Right Armrest F55
Option 2:Left Hand Armrest Substrate
Right Hand Armrest Substrate
首先,您必须使用按数字字段分组的数据,然后您将获得逗号分隔的值,然后您可以使用optgoup
<optgroup label="Swedish Cars">
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
</optgroup>
从数据库中检索数据时,可以使用GROUP_CONNCT()函数,而不用在PHP中对数据进行分组。
SELECT Number,GROUP_COMPAT(DISTINCT Description SEPARATOR','),Machine FROM table GROUP BY Number;