2017-02-21 66 views
0

我有一个表使用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> 
+0

天哪这个​​肯定看起来很熟悉... http://stackoverflow.com/questions/42372678/correctly-displaying-and-populating-dropdown-boxes-in-a-table –

+0

是的,除了我简化了我的发帖 – Rataiczak24

+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 } ?> 

来填充下拉列表替换您的阵列中的数据,或者如果你想那么首先填充你的循环之外下拉数据得到你的小组数据为你可以使用这个代码

+0

我回到了聊天 – Rataiczak24

+0

好吧我在这里,所以告诉你的数据和下一个问题 –

+0

我已经从其他帖子发布我的其他问题我有 – Rataiczak24