J'ai un tableau d'un tableau créé en utilisant le code suivant. J'essaie de faire en sorte que cela se répète et remplisse une liste déroulante.
$names = $db->fetchAll("select `name` from `classes`");
C'est ce qui est stocké dans la variable $ names.
Tableau ([0] => Tableau ([nom] => conception Web) [1] => Tableau ([nom] => Histoire de l'art) [2] => Tableau ([nom] => Gym ) [3] => Array ([name] => English) [4] => Array ([name] => Biologie) [5] => Array ([name] => Animation 3D) [6] => Tableau ([nom] => disque technique) [7] => Tableau ( [Nom] => Math) [8] => Tableau ([nom] => Dance) [9] => Array ( [Name] => Production vidéo) [10] => Array ([name] => Home Ec) [11] => Array ([ name] => Gouvernement) [12] => Array ([name] => Physics))
J'ai cette liste déroulante créée et cela fonctionne, mais il est codé à la main pour chaque valeur du tableau. Je souhaite modifier cela afin qu'il "parcourt" tous les résultats du tableau afin de créer la liste déroulante.
<label for="per1"></label>
<select name="per1" id="per1">
<option selected="selected">Choose one</option>
<option value="<?php echo $names[0]['name'];?>"><?php echo $names[0]['name'];?></option>
<option value="<?php echo $names[1]['name'];?>"><?php echo $names[1]['name'];?></option>
<option value="<?php echo $names[2]['name'];?>"><?php echo $names[2]['name'];?></option>
<option value="<?php echo $names[3]['name'];?>"><?php echo $names[3]['name'];?></option>
<option value="<?php echo $names[4]['name'];?>"><?php echo $names[4]['name'];?></option>
<option value="<?php echo $names[5]['name'];?>"><?php echo $names[5]['name'];?></option>
<option value="<?php echo $names[6]['name'];?>"><?php echo $names[6]['name'];?></option>
<option value="<?php echo $names[7]['name'];?>"><?php echo $names[7]['name'];?></option>
<option value="<?php echo $names[8]['name'];?>"><?php echo $names[8]['name'];?></option>
<option value="<?php echo $names[9]['name'];?>"><?php echo $names[9]['name'];?></option>
<option value="<?php echo $names[10]['name'];?>"><?php echo $names[10]['name'];?></option>
<option value="<?php echo $names[11]['name'];?>"><?php echo $names[11]['name'];?></option>
<option value="<?php echo $names[12]['name'];?>"><?php echo $names[12]['name'];?></option>
</select>
Puis-je avoir une aide s'il vous plait?
Cette solution fonctionne pour les versions actuelles de PHP. Cas simple d'utilisation d'un foreach:
<select name="per1" id="per1">
<option selected="selected">Choose one</option>
<?php
foreach($names as $name) { ?>
<option value="<?= $name['name'] ?>"><?= $name['name'] ?></option>
<?php
} ?>
</select>
Cette solution fonctionne pour les anciennes versions de PHP. Cas simple d'utilisation d'un foreach:
<select name="per1" id="per1">
<option selected="selected">Choose one</option>
<?php
foreach($names as $name) { ?>
<option value="<?php echo $name['name'] ?>"><?php echo $name['name'] ?></option>
<?php
} ?>
</select>
je pense que cela suffit
foreach($names as $key =>$value)
{?>
<option value="<?=$value['name']?>"><?=$value['name']?></option>
<?php }
Allez pour chaque boucle pour éviter ces beaucoup de codage.
<?php
foreach($names as $nameIndex=>$nameVal){ ?>
<option value=$nameVal['name']?>"><?=$nameVal['name']?> </option>
<?php } ?>