Incrémenter option value en PHP

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

3 réponses

  • Votes
  • Date
  • Date décroissante
  1. 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>
    1. 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 ?
      1. 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>