IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Menu déroulant dans une boucle while


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    377
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2013
    Messages : 377
    Points : 71
    Points
    71
    Par défaut Menu déroulant dans une boucle while
    Bonjour tous le monde, je vous explique ma problématique

    j'affiche mes données dans un tableau , et devant j'affiche un menu déroulant afinc que je puisse réalisé un choix , j'aimerai une fois que le choix est fait mon choix sera enregisté dans une colonne devant la ligne sélectionner , je me prends comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    <table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
    <thead>
    	 <tr >    
    		<th >Identifiant</th>
    		<th >Marque</th>
    		<th >Réalisation</th>
     
     
    	</tr>
    </thead>
    <tbody>
    <?php //affichage des données:
    while( $result = mysql_fetch_array( $requete ) )
    {
    ?>
    	<tr style="background-color: #e5eeff" style="text-align: center;">
    		<td><?php echo $result['name']; ?></td>
    		<td><?php echo $result['extension']; ?></td>
    		<td><?php echo '<select name="menu">';
    	while ($donnees= mysql_fetch_array($resultat3))
    	{
    	if($donnees['item'] !="")
    	{
    	?>
    	<option value ="<?php $donnees['item']; ?>">  <?php  echo $donnees['item']; ?></option>
    	<?php
    	}
    	}
    	echo '</select>';
     
    	?> </td>
     
     
    	</tr>
    <?php
    }
    ?>
    <tbody>
    </table>
    1 question : j'ai des menus déroulants vide sauf la dernière ligne ou j'ai bien mes données ??

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu ne peux pas parcourir plusieurs $resultat3.
    Stockes le résultat de cette requête dans un tableau PHP et parcoure ce tableau.

  3. #3
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    377
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2013
    Messages : 377
    Points : 71
    Points
    71
    Par défaut
    Bonjour, Voila comment j'ai fait mais ça marche pas

  4. #4
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Septembre 2009
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2009
    Messages : 875
    Points : 1 313
    Points
    1 313
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    while( $result = mysql_fetch_array( $requete ) )
    {
    	while ($donnees= mysql_fetch_array($resultat3))
    	{
    Je comprend rien a ce code, tu peux nous aiguiller?

  5. #5
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    onjour, Voila comment j'ai fait mais ça marche pas
    Montre nous ton code avec cette méthode.

  6. #6
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    377
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2013
    Messages : 377
    Points : 71
    Points
    71
    Par défaut
    Bonjour, désolé j'ai oublié de joindre le code.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    <?php
    // connexion
    include_once("db_connection.php");
    $tableau=array();
    $sql = "SELECT *
    	FROM base1";
        $requete = mysql_query($sql);
    $requete2="select * from menu1 where menu='1'" ;
    $resultat3=mysql_query($requete2) or die(mysql_error());
    $tableau1= mysql_result ($resultat3,0);
    $tableau2= mysql_result ($resultat3,1);
    $tableau3= mysql_result ($resultat3,2);
    $tableau4= mysql_result ($resultat3,3);
    $tableau5= mysql_result ($resultat3,4);
    $tableau6= mysql_result ($resultat3,5);
    $tableau7=mysql_result ($resultat3,6);
    $tableau8 =mysql_result ($resultat3,8);
    $tableau10=mysql_result ($resultat3,9);
    $tableau11=mysql_result ($resultat3,10);
    for ($i=0; $i<$tableau;$i++)
    {
    $tableau($i)=mysql_result($resultat3, $i);
    }
    ?>
    <!DOCTYPE html>
    <html>
    <head>
    <link rel="stylesheet" href="Parc_Transformateur.css" />
    	<script class="jsbin" src="/release-builds/jquery.datatables.1.9.1.js"></script>
        <meta http-equiv="content-type" content="text/html; charset=utf-8" />
          <link rel= "stylesheet" href="media/css/demo_page.css"/>
          <link rel= "stylesheet" href="media/css/demo_table.css"/>
        <script type="text/javascript" language="javascript" src="media/js/jquery.js"></script>
    	<script type="text/javascript" language="javascript" src="media/js/jquery.dataTables.min.js"></script>
    	<script type="text/javascript" language="javascript" src="media/js/jquery.dataTables.js"></script>
    	<meta charset="utf-8" />
     
    <?php 	include_once("menu_admin.php"); ?>
    	<title>  </title>
    </head>
       <body id="dt_example">
    <!-- tableau -->
    <div align="center" >
     <table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
    <thead>
    	 <tr >    
    		<th >Identifiant</th>
    		<th >Marque</th>
    		<th >Réalisation</th>
     
     
    	</tr>
    </thead>
    <tbody>
    <?php //affichage des données:
    while( $result = mysql_fetch_array( $requete ) )
    {
    ?>
    	<tr style="background-color: #e5eeff" style="text-align: center;">
    		<td><?php echo $result['name']; ?></td>
    		<td><?php echo $result['extension']; ?></td>
    		<td><?php echo '<select name="menu">';
    				  if(tableau($i) !="")
    						{	
    						foreach ($tableau as $element)
    						?>
     
    						<option value ="<?php $tableau['$i']; ?>">  <?php  echo $tablea['$i']; ?></option>
    							<?php	
    						}
    				  echo '</select>'; ?> 
    		</td>
     
     
    	</tr>
    <?php
    }
    ?>
    <tbody>
    </table>
    </div>
    </body>
     <script type="text/javascript">
    /* 
     * Example init
     */
    $(document).ready(function(){
    	$('#example').dataTable(); 
    });
    </script>
    </body>
    </html>

  7. #7
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 195
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 195
    Points : 4 648
    Points
    4 648
    Par défaut
    abdelkarim_1987, Un accès a un élément dans un tableau se fait uniquement par des crochets:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $tableau[1]= 'une valeur'; //OUI
    $tableau1 FAUX
    $tableau2 FAUX
    $tableau($i) FAUX
    $tableau(1) FAUX

    pour une boucle for : count($tableau) = nombre d'éléments dans le tableau

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    $tableau=array();
    $sql = "SELECT *
    	FROM base1";
        $requete = mysql_query($sql);
    $requete2="select * from menu1 where menu='1'" ;
    $resultat3=mysql_query($requete2) or die(mysql_error());
    $tableau1= mysql_result ($resultat3,0);
    ...
    $tableau11=mysql_result ($resultat3,10);
    for ($i=0; $i<$tableau;$i++)
    {
    $tableau($i)=mysql_result($resultat3, $i);
    }

  8. #8
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    C'est le vaisseau de l'angoisse ton code.
    Il va falloir que tu t'exerces à la manipulation des tableaux PHP.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
    include_once("db_connection.php");
    $tableau = array();
    $sql ="select item from menu1 where menu=1" ;
    $resultat =mysql_query($sql);
    while ($row = mysql_fetch_assoc($result)) {
        $tableau[] = $row['item'];
    }
    ?>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <?php //affichage des données:
    while( $result = mysql_fetch_array( $requete ) )
    {
    	echo '<tr style="background-color: #e5eeff" style="text-align: center;">
    		<td>' . $result['name'] . '</td>
    		<td>' . $result['extension'] .'</td>
    		<td><select name="menu">';
     
    foreach ($tableau as $element) {
        echo '<option value="' . htmlspecialchars($element) . '"">' . $element . '</option>';
    }
      echo '</select></td>';
    ?>

  9. #9
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    377
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2013
    Messages : 377
    Points : 71
    Points
    71
    Par défaut
    Je vous remercie pour votre aide, ça marche comme je veux , mais just une quastion avez vous une idée lorsque je fais mon choix dans les menu deroulants et que j'appuye sur un bouton ça m'enregistre mon choix dans le tableau de mes données et dans la m^me ligne ou j'ai fait mon choix ???

Discussions similaires

  1. [Tkinter] Méthode get() dans une boucle while
    Par Thundie dans le forum Tkinter
    Réponses: 2
    Dernier message: 04/02/2006, 00h06
  2. Problème de SCANF dans une boucle WHILE
    Par FidoDido® dans le forum C
    Réponses: 4
    Dernier message: 30/12/2005, 17h42
  3. [Conception] Problème de test dans une boucle while
    Par Cyrius dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 26/11/2005, 18h07
  4. Réponses: 6
    Dernier message: 17/06/2005, 16h51
  5. [MFC] Dialog dans une boucle while
    Par oxor3 dans le forum MFC
    Réponses: 5
    Dernier message: 23/04/2004, 22h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo