填充下拉框同时填充表格

时间:2017-02-21 18:48:14

标签: php html sql-server foreach dropdownbox

我有一个使用foreach循环填充的表。我的一个专栏是SKU Group,这是一个下拉框列。但是,每当foreach循环运行时,只有该行的一个对应值显示在下拉框内。

如何获取它以便我可以运行foreach循环并正确填充表格,而下拉列表也填充每个SKU组名称而不仅仅是与每行对应的单个值?

通常情况下,我只是运行这个foreach($var->fetchAll() as $var1)下拉列表来填充它们,但我不认为它可以在另一个已经运行的循环中正常运行。所以这就是我遇到这个问题的原因。

HTML表:

<table id="skuTable" cellspacing="5" class="ui-widget ui-widget-content">
    <thead>
        <tr class="ui-widget-header">
            <th style="display: none">Product ID</th>
            <th class="skuRow">Major Category</th>
            <th class="skuRow">Minor Category</th>
            <th class="skuRow">Report Code</th>
            <th class="skuRow">SKU</th>
            <th class="skuRow">SKU Description</th>
            <th class="skuRow">SKU Status</th>
            <th class="skuRow">Create Date</th>
            <th class="skuRow">SKU Group</th>
            <th class="skuRow">Edit</th>
        </tr>
    </thead>
    <tbody>

        <?php foreach ($dbh->query($query) as $row) {?>

        <tr>
            <td style="display: none" class="prod_id" id="product_id-<?php echo intval ($row['Product_ID'])?>"><?php echo $row['Product_ID']?></td>
            <td class="major_cat" id="major_cat-<?php echo intval ($row['Major Category'])?>"><?php echo $row['Major Category']?></td>
            <td class="minor_cat" id="minor_cat-<?php echo intval ($row['Minor Category'])?>"><?php echo $row['Minor Category']?></td>
            <td class="rep_code" id="rep_code-<?php echo intval ($row['Product Report Code'])?>" align="center"><?php echo $row['Product Report Code']?></td>
            <td class="sku" id="sku-<?php echo intval ($row['SKU'])?>" align="center"><?php echo $row['SKU']?></td>
            <td class="sku_desc" id="sku_desc-<?php echo intval ($row['SKU Description'])?>"><?php echo $row['SKU Description']?></td>
            <td class="sku_status" id="sku_status-<?php echo intval ($row['SKU Status'])?>" align="center"><?php echo $row['SKU Status']?></td>
            <td class="create_date" id="create_date-<?php echo intval ($row['Date'])?>" align="center"><?php echo $row['Date']?></td>
            <td class="sku_group" id="sku_group-<?php echo intval ($row['SKU Group'])?>" align="center">

                <select id="sku_group_dropdown">
                    <option
                        value=""
                        data-name="<?php echo $row ['SKU Group'];?>"
                    >
                        <?php echo $row ['SKU Group'];?>
                    </option>
                </select>

            </td>
            <td><input type="button" class="edit" name="edit" value="Edit"></td>
        </tr>

    <?php } ?>

    </tbody>
</table>

1 个答案:

答案 0 :(得分:0)

首先需要使用循环

填充下拉列表
<?php 
 $i = 0;
 $content = '';
  $names =  array('Test1','Test2');
  foreach ($names as $row) {
  if($i== 0){  
  $names =  array('Test1','Test2');// replace it  echo $row ['SKU Group'];

  foreach($names as $key)
  {
   $content .= '<option value="'.$key.'">'.$key.'</option>';    
  }
   } 
  $i++;
  ?>

  <tr>
   <td>sadasdsa</td>
    <td class="sku_group" id="sku_group-<?php echo intval ($row['SKU Group'])?>" align="center">

    <select id="sku_group_dropdown">
    <?php echo $content?>
    </select>

     </td>
        <td><input type="button" class="edit" name="edit" value="Edit">                  </td>
       </tr>

          <?php } ?>

在此代码中替换您的数组数据,或者如果您想在循环外填充下拉数据,那么首先获取您的组数据,您可以使用此代码