2017-02-21 3 views
0

J'ai une table remplie à l'aide d'une boucle foreach. Une de mes colonnes est SKU Group, qui est une colonne de listes déroulantes. Cependant, à chaque exécution de la boucle foreach, seule la valeur correspondante de cette ligne est affichée dans la liste déroulante.Remplir les boîtes déroulantes tout en remplissant le tableau

Comment puis-je l'obtenir pour pouvoir exécuter la boucle foreach et remplir correctement la table, alors que les listes déroulantes sont également remplies avec chaque nom de groupe SKU et pas seulement la valeur unique qui correspond à chaque ligne?

Normalement, je voudrais juste exécuter ce foreach($var->fetchAll() as $var1) pour les listes déroulantes pour les peupler, mais je ne pense pas qu'il puisse être exécuté correctement dans une autre boucle qui est déjà en cours d'exécution. C'est pourquoi j'ai ce problème.

HTML Tableau:

<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

Gosh ce sûr semble familier ... http: //stackoverflow.com/questions/42372678/correctly-displaying-and-populating-dropdown-boxes-in-a-table –

+0

Oui, sauf que j'ai simplifié mon affichage – Rataiczak24

+0

Eh bien, ne négligez pas mon commentaire sur l'utilisation des paramètres dans votre requête. Et malheureusement, il est vraiment difficile de comprendre ce que vous essayez de faire. –

Répondre

0

devez d'abord remplir votre liste déroulante en utilisant la boucle

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

dans ce code de remplacer vos données de tableau ou si vous souhaitez remplir les données déroulant en dehors de votre boucle puis premier obtenir vos données de groupe pour vous pouvez utiliser ce code

+0

je suis de retour dans le chat – Rataiczak24

+0

ok je suis ici, alors dites vos données et le prochain problème –

+0

J'ai posté mes autres problèmes dans la salle de chat de l'autre poste que j'avais – Rataiczak24