未使用PHP foreach循环正确填充下拉列表
我目前正在用数据库中的行填充一个表。其中一列是需要填充多个值的下拉列表 每个下拉列表自动默认为保龄球绿色,即使该行不应为保龄球绿色。大多数排在东南或密歇根,但不管它应该是什么,出于某种原因,它默认为保龄球果岭 如何让下拉列表将所有值保留为下拉列表中的选项(bowling green,michigan,Southast),但让下拉列表值默认为数据库中的值未使用PHP foreach循环正确填充下拉列表,php,sql-server,foreach,Php,Sql Server,Foreach,我目前正在用数据库中的行填充一个表。其中一列是需要填充多个值的下拉列表 每个下拉列表自动默认为保龄球绿色,即使该行不应为保龄球绿色。大多数排在东南或密歇根,但不管它应该是什么,出于某种原因,它默认为保龄球果岭 如何让下拉列表将所有值保留为下拉列表中的选项(bowling green,michigan,Southast),但让下拉列表值默认为数据库中的值 <?php $sql = "SELECT TOP 100 * FROM Table_OS_List ORD
<?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);
$allDrops = $drop->fetchAll();
?>
<?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($allDrops as $dropdown) { ?>
<option class="choice"
value="<?php echo $dropdown['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 } ?>
您需要将selected
属性添加到正确的选项中
大概是这样的:
<option class="choice"
<?php echo $row['Purchasing_Group'] == $dropdown['Purchasing_Group'] ? "selected" : ""; ?>
value="<?php echo $dropdown['Purchasing_Group'];?>">
<?php echo $dropdown['Purchasing_Group'];?>
</option>
<?php
if($row['Purchasing_Group'] == $dropdown['Purchasing_Group']) {
echo "selected";
}
?>
您需要将selected
属性添加到正确的选项中
大概是这样的:
<option class="choice"
<?php echo $row['Purchasing_Group'] == $dropdown['Purchasing_Group'] ? "selected" : ""; ?>
value="<?php echo $dropdown['Purchasing_Group'];?>">
<?php echo $dropdown['Purchasing_Group'];?>
</option>
<?php
if($row['Purchasing_Group'] == $dropdown['Purchasing_Group']) {
echo "selected";
}
?>
您可以添加一个selected
属性和一个内联三元运算符,如下所示
<option class="choice" <?php echo $dropdown['Purchasing_Group'] ? ' selected' : null ?> value="<?php echo $dropdown['Purchasing_Group'];?>">
<?php echo $dropdown['Purchasing_Group'];?>
</option>
从数据库中获取所有数据后,检查结果是否存在总是很好的 您可以添加一个选定的属性,并使用一个内联三元运算符,如下所示
<option class="choice" <?php echo $dropdown['Purchasing_Group'] ? ' selected' : null ?> value="<?php echo $dropdown['Purchasing_Group'];?>">
<?php echo $dropdown['Purchasing_Group'];?>
</option>
从数据库中获取所有数据后,检查结果是否存在总是很好的 您需要使用所选的属性标记相应的
。这是因为它是下拉列表中的第一个选项。要使其基于数据库中的值进行选择,您需要将selected
属性添加到选项中。您需要使用selected
属性标记相应的
。这是因为它是下拉列表中的第一个选项。要根据数据库中的值进行选择,您需要将selected
属性添加到选项中。这非常完美,也是我所需要的……谢谢。当我有能力的时候,我会接受这个答案to@Rataiczak24很高兴我能帮忙这是完美的,这是我需要的…谢谢。当我有能力的时候,我会接受这个答案to@Rataiczak24很高兴我能帮助您,每一行都应该在OP代码中有一个现有结果,您的代码将向每个选项添加选定的
,您必须检查它创建的选项是否与该行相同。每一行都应该在OP代码中有一个现有结果,您的代码将向每个选项添加选定的
,您必须检查它创建的选项是否与行相同。