Incrémenter option value en PHP

Fermé
Roxane - 15 janv. 2014 à 16:53
astuces72 Messages postés 7763 Date d'inscription vendredi 15 janvier 2010 Statut Membre Dernière intervention 18 janvier 2025 - 15 janv. 2014 à 17:48
Bonjour,

j'bloque totalement sur un exo de PHP (1ère séance...). Le but est simple : créer un formulaire dont les option value du select sont généré à l'aide d'une boucle. J'ai fait 2 essais, aucun ne marche :
avec un foreach (t'façon j'comprends rien au foreach)
<?php 

$ligne = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15); ?>

<SELECT name="ligne">
<?php foreach ($ligne as $num => $element){ ?>
<option value="<?php echo $num; ?>"><?php echo $num; ?></option>
<?php } ?>

avec un for :
<SELECT>	
<?php
for($i=1; $i<16; $i++){
echo "<option value=\"$i\">$i</option>";
} ?>


</SELECT>

Un petit coup de main serait pas de refus !
Cdlt,
Roxane


A voir également:

3 réponses

je viens de test mon for each indépendament du reste de mon script et il marche... Une fois implémenté dedans ça bug... Une idée ?
<html>
<meta charset="UTF-8">
<?php // NOM Prénom groupe ?>

<form action="jeu.php" method="GET">
<table>
<tr>
<td>Login</td>
<td><input type=text name=login></td>
</tr>
<tr>
<td>Password</td>
<td><input type=password name=password></td>
</tr>

<tr>
<td>Colonne</td>
<td>
<SELECT>
<?php
$colonne = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15); ?>

<SELECT name="ligne">
<?php foreach ($colonne as $num => $element){ ?>
<option value="<?php echo $num; ?>"><?php echo $num; ?></option>
<?php } ?>
</SELECT>
</td>
</tr>
<tr>
<td>Ligne</td>
<td>
<?php

$ligne = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15); ?>

<SELECT name="ligne">
<?php foreach ($ligne as $num => $element){ ?>
<option value="<?php echo $num; ?>"><?php echo $num; ?></option>
<?php } ?>
</SELECT>


</td>
</tr>
<tr>
<td>
<input type="submit" value="send">
</td>
</tr>
</table>
</form>




</html>
0
Utilisateur anonyme
15 janv. 2014 à 17:45
Bonsoir

En première lecture :
- il te manque les <!DOCTYPE> <HEAD> et <BODY> pour avoir un document HTML correct, mais ce n'est pas ce qui te fait planter.
- ton premier <SELECT> est en trop
- tes deux <SELECT> ont le même "name", je pense que le premier devrait s'appeler colonne ou quelque chose comme ça.
- détail, à ta place, dans les OPTION, j'utiliserais $element pour la partie 'lisible' de l'option.

Quand tu dis que ça bug, qu'est-ce qui se passe exactement et à quoi t'attendais-tu ?
0
astuces72 Messages postés 7763 Date d'inscription vendredi 15 janvier 2010 Statut Membre Dernière intervention 18 janvier 2025 1 639
15 janv. 2014 à 17:48
slt

les select ne sont pas au bon emplacement

<html>
<meta charset="UTF-8">
<?php // NOM Prénom groupe ?>

<form action="jeu.php" method="GET">
<table>
<tr>
<td>Login</td>
<td><input type=text name=login></td>
</tr>
<tr>
<td>Password</td>
<td><input type=password name=password></td>
</tr>

<tr>
<td>Colonne</td>
<td>
<SELECT name="ligne">
<?php
$colonne = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15); ?>


<?php foreach ($colonne as $num => $element){ ?>
<option value="<?php echo $num; ?>"><?php echo $num; ?></option>
<?php } ?>
</SELECT>
</td>
</tr>
<tr>
<td>Ligne</td>
<td>
<SELECT name="ligne">
<?php

$ligne = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15); ?>


<?php foreach ($ligne as $num => $element){ ?>
<option value="<?php echo $num; ?>"><?php echo $num; ?></option>
<?php } ?>
</SELECT>


</td>
</tr>
<tr>
<td>
<input type="submit" value="send">
</td>
</tr>
</table>
</form>




</html>
0