未使用PHP foreach循环正确填充下拉列表

未使用PHP foreach循环正确填充下拉列表,php,sql-server,foreach,Php,Sql Server,Foreach,我目前正在用数据库中的行填充一个表。其中一列是需要填充多个值的下拉列表 每个下拉列表自动默认为保龄球绿色,即使该行不应为保龄球绿色。大多数排在东南或密歇根,但不管它应该是什么,出于某种原因,它默认为保龄球果岭 如何让下拉列表将所有值保留为下拉列表中的选项(bowling green,michigan,Southast),但让下拉列表值默认为数据库中的值 <?php $sql = "SELECT TOP 100 * FROM Table_OS_List ORD

我目前正在用数据库中的行填充一个表。其中一列是需要填充多个值的下拉列表

每个下拉列表自动默认为保龄球绿色,即使该行不应为保龄球绿色。大多数排在东南或密歇根,但不管它应该是什么,出于某种原因,它默认为保龄球果岭

如何让下拉列表将所有值保留为下拉列表中的选项(bowling green,michigan,Southast),但让下拉列表值默认为数据库中的值

<?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代码中有一个现有结果,您的代码将向每个选项添加
选定的
,您必须检查它创建的选项是否与行相同。