PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 15-06-2009 13:34:34

diofior
Membre
Inscription : 08-06-2009
Messages : 11

Un seul élément s'affiche. Pourquoi?

Bonjour à tous,
Le code qui suit doit afficher les différentes entrées d'un tableau (une colonne), mais un seul élément est affiché (le dernier).

      <td align="left"><select id="num_matric" name="num_matric"
                           
                            <?php for($nb=1;$nb<=$i;$nb++)
                            {
                                echo '<option  value="'.$tabresult[$nb].'">'.$tabresult[$nb].'</option> ';
                            }
                            ?>
                        ></select>


      </td>

Quelqu'un peut m'aider? je suis novice=0.
Merci.

Hors ligne

#2 15-06-2009 13:46:55

mcAllan
Mowdérateur
Lieu : Châteaurenard en Provence
Inscription : 08-05-2009
Messages : 269

Re : Un seul élément s'affiche. Pourquoi?

Salut,

Je ne voie rien de particulier dans ce bout de code si ce n'est un > absent après "num_matric" .
Le tableau est-il bien rempli ? (A tester avec print_r() )
D'où vient $i ?
Que donne la source de la page générée ?


Promotion de PPOO : Programmation Propre Orientée Objet !!
Recommande AAO : Apéritif Avec Olives...
Glop, glop

Hors ligne

#3 15-06-2009 14:08:15

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : Un seul élément s'affiche. Pourquoi?

Saluton,
Et surtout, pourquoi ne pas utiliser foreach pour parcourir le tableau ?


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#4 15-06-2009 14:13:16

diofior
Membre
Inscription : 08-06-2009
Messages : 11

Re : Un seul élément s'affiche. Pourquoi?

le > est mis juste avant le </select>
le $i est initilisé avec $totalRows_rs1 avec ($totalRows_rs1 = mysql_num_rows($rs1);)
print_r('<option  value="'.$tabresult[$nb].'">'.$tabresult[$nb].'</option> '); renvoie le dernier élément de la table.

Merci.

Hors ligne

#5 15-06-2009 14:31:23

mcAllan
Mowdérateur
Lieu : Châteaurenard en Provence
Inscription : 08-05-2009
Messages : 269

Re : Un seul élément s'affiche. Pourquoi?

Le > ne doit pas être là.
Syntaxe de select :


<select id="num_matric" name="num_matric">
  <option  value="xxx">xxx</option>
  <option  value="xxx">xxx</option>
  <option  value="xxx">xxx</option>
</select>
 

Voir : http://fr.selfhtml.org/html/formulaires/choix.htm

Pour le print_r, en dehors du "select" fait directement print_r($tabresult);

Ensuite comme dit MK foreach c'est mieux. smile


Promotion de PPOO : Programmation Propre Orientée Objet !!
Recommande AAO : Apéritif Avec Olives...
Glop, glop

Hors ligne

#6 15-06-2009 18:30:41

diofior
Membre
Inscription : 08-06-2009
Messages : 11

Re : Un seul élément s'affiche. Pourquoi?

Ah! encore moi
print_r($tabresult); me donne  Array ( [0] => 1200 [1] => 1200 [2] => 1200 [3] => 1200 )
print_r($totalRows_rs1); me donne 3

voici le code pour remplir mon tableau, apparemment je récupère une seule valeur aulieu de 3.


          $query_rs1 = "SELECT matric FROM utilisateur WHERE direction = '$nouv_centre' ";
          $rs1 = mysql_query($query_rs1, $cnx_localhost_user_gec) or die(mysql_error());
          $tab_resultat=mysql_fetch_array($rs1);
      $row_rs1 = mysql_fetch_assoc($rs1);
          $totalRows_rs1 = mysql_num_rows($rs1);
         
          $tabresult = array();

//          while($resultat=mysql_fetch_array($rs1))
          for($i=0;$i<=$totalRows_rs1;$i++)
          {
             $tabresult[$i]=$row_rs1['matric'];
          }
?>

ensuite pour l'affichage je fais:

      <td align="left">
                     <select id="num_matric" name="num_matric">
                             <?php
                                for($nb=0;$nb<=totalRows_rs1;$nb++)
                                  {
                                      echo '<option  value="'.$tabresult[$nb].'">'.$tabresult[$nb].'</option> ';
                                 }
                         ?>
                       </select>
         <?php print_r($tabresult);print_r($totalRows_rs1); ?>


      </td>

je remercie toute la communauté.

Hors ligne

#7 15-06-2009 19:56:56

diofior
Membre
Inscription : 08-06-2009
Messages : 11

Re : Un seul élément s'affiche. Pourquoi?

Personne pour aider?

Hors ligne

Pied de page des forums