我有一个名为“test”的表。我想从一列中检索数据。每行都有多个与昏迷分开的数据。如何在下拉列表中显示列的所有数据?
ID | Qualification
1 | BE,Phd,ME
2 | MCA,MBA
3 | MBA
如何在下拉列表中显示Qualification列的所有数据?输出应该如下
BE
Phd
ME
MCA
MBA
MBA
答案 0 :(得分:0)
遍历行并通过爆炸规则创建每行的数组。然后将数组合并在一起。像这样:
//Example data TODO: replace with your table data
$rows[0]['Qualification'] = 'a,b,c';
$rows[1]['Qualification'] = 'a,b,c';
$qualificationArray = array();
foreach($rows as $rowData)
{
$rowDataArray = explode(',',$rowData['Qualification']);
$qualificationArray = array_merge($qualificationArray,$rowDataArray);
}
然后使用qualificationArray创建一个下拉列表
echo '<select name="qualification">';
foreach($qualificationArray as $qualification)
{
echo '<option value="'.$qualification.'">'.$qualification.'</option>';
}
echo '</select>';
所以这个输出是每个值的下拉列表:
<select name="qualification">
<option value="a">a</option>
<option value="b">b</option>
<option value="c">c</option>
<option value="a">a</option>
<option value="b">b</option>
<option value="c">c</option>
</select>
答案 1 :(得分:0)
首先,读取数据库中的所有数据:
$quals = array(); // This is the array where we are going to store all the data.
if ($result = $db->query("SELECT * FROM `test`"))
{
while ($row = $result->fetch_assoc())
{
$quals[$row['ID']] = $row['Qualification'];
}
}
这些行现在以$quals
格式存储在$quals[ID] = CommaSeperatedQualifications
中。
接下来,按
创建下拉列表$quals
中的每个元素。Qualification
分隔为一系列元素,例如$list
。$list
并打印下拉菜单的<option>
。例如:
// now create a drop-down
echo '<select name="list_of_quals">';
foreach ($quals as $id => $value)
{
$list = explode(',', $value);
foreach ($list as $item)
{
echo '<option value="' . $id . '">' . $item . '</option>';
}
}
echo '</select>';