Я пытаюсь заполнить таблицу строками из базы данных.Однако один из столбцов является раскрывающимся списком, который должен быть заполнен несколькими значениями, поэтому необходимо использовать fetchAll.Однако у меня возникли проблемы, поскольку я использую конструкцию foreach внутри другой конструкции foreach.
Я предполагаю, что это невозможно, или я просто что-то делаю не так?Как найти обходной путь, чтобы можно было заполнить всю таблицу, а также заполнить раскрывающийся список более чем одним значением, но по-прежнему иметь значение по умолчанию, равное значению в базе данных?
<?php
$sql = "SELECT TOP 100 *
FROM Table_OS_List
ORDER BY [CURRENT_SKU] ASC";
$drops = "SELECT [Purchasing_Group]
FROM Table_OS_List
GROUP BY [Purchasing_Group]";
$drop = $dbh->query($drops);
?>
<?php
/* Foreach loop that brings in information to populate table */
foreach ($dbh->query($sql) as $rows) {
?>
<tr class="row">
<td class="old_sku" id="old_sku"><?php echo intval ($rows['OLD_SKU'])?></td>
<td class="current_sku" id="current_sku"><?php echo intval ($rows['CURRENT_SKU'])?></td>
<td class="id" id="id" style="display: none;"><?php echo intval ($rows['ID'])?></td>
<td class="dropdown-select" id="purchgroup">
<select id="selected_group" class="selected_group" disabled>
<?php foreach($drop->fetchAll() as $dropdown) { ?>
<option class="choice" value="Purchasing Group"><?php echo $dropdown['Purchasing_Group'];?></option>
<?php } ?>
</select>
</td>
<td><input type="button" class="edit" name="edit" value="Edit"></td>
<td><input type="button" class="delete" name="delete" id="<?php echo intval ($rows['ID'])?>" value="Delete"></td>
</tr>
<?php
}
?>
ПРИМЕЧАНИЕ Этот код правильно заполняет всю таблицу, однако раскрывающийся список содержит только значение в каждой строке и не заполняется другими параметрами значения, если мне нужно выбрать что-то другое:
<?php
/* Foreach loop that brings in information to populate table */
foreach ($dbh->query($sql) as $rows) {
?>
<tr class="row">
<td class="old_sku" id="old_sku"><?php echo intval ($rows['OLD_SKU'])?></td>
<td class="current_sku" id="current_sku"><?php echo intval ($rows['CURRENT_SKU'])?></td>
<td class="id" id="id" style="display: none;"><?php echo intval ($rows['ID'])?></td>
<td class="dropdown-select" id="purchgroup">
<select id="selected_group" class="selected_group" disabled>
<option class="choice" value="Purchasing Group"><?php echo $rows['Purchasing_Group'];?></option>
</select>
</td>
<td><input type="button" class="edit" name="edit" value="Edit"></td>
<td><input type="button" class="delete" name="delete" id="<?php echo intval ($rows['ID'])?>" value="Delete"></td>
</tr>
<?php
}
?>
РЕДАКТИРОВАТЬ:
Каждый выпадающий автоматически по умолчанию устанавливается на Bowling Green, даже если этот ряд не должен быть Bowling Green.Большинство рядов либо Юго-Восток, либо Мичиган, но независимо от того, что это должно быть, он по умолчанию почему-то имеет Боулинг Грин