Incrémenter option value en PHP

Roxane -  
astuces72 Messages postés 2146 Date d'inscription   Statut Membre Dernière intervention   -
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

  1. Roxane
     
    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
  2. Utilisateur anonyme
     
    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
  3. astuces72 Messages postés 2146 Date d'inscription   Statut Membre Dernière intervention   1 669
     
    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