2017-02-21 12 views
0

У меня есть таблица, заполняемая с помощью цикла foreach. Одна из моих столбцов - группа SKU, которая представляет собой столбец выпадающих списков. Однако всякий раз, когда цикл 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