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 :

utiliser le resultat de mysql_fetch_array dans plusieurs menu deroulant


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 50
    Par défaut utiliser le resultat de mysql_fetch_array dans plusieurs menu deroulant
    Bonjour,
    voici mon probleme, j'execute une requete php et ce resultat je veux le mettre dans plusieurs menu deroulant.
    Comment faire car le premier menu est rempli du resultat de la requete, mais ensuite le second est vide. voici mon 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
     
    <?php
    for($i=0; $i<$NbLigne;$i++)
    {					
    echo "<tr>";						
    echo "<td width='10%' align='center'><input color='black' type='text' name='quantite[]' style='width:180px'></td>";
     
    echo "<td width='10%' align='center'>";
    echo "<SELECT name='select_designation' style='HEIGHT: 30px; WIDTH: 150px' onchange='JavaScript:active_champ_dest();'>";
     
    while($tab_stock=mysql_fetch_array($result_stock))			
    {						
    $stock=trim($tab_stock['famille_article'],"");			
    if ($stock==$recup_stock)						
    {						
    echo "<OPTION VALUE=$stock SELECTED>$stock</OPTION>";		
    }							
    else								
    {						
    echo "<OPTION VALUE=$stock>$stock</OPTION>";			
    }					
    }						
    echo "</SELECT>";					
    echo "</td>";						
    echo "<td width='10%' align='center'><input color='black' type='text' name='ref[]' style='width:180px'></td>";
     
    echo "<td width='10%' align='center'><input color='black' type='text' name='observation[]' style='width:180px'></td>";
    echo "</tr>";					
    }
    ?>

  2. #2
    Membre chevronné
    Développeur Web
    Inscrit en
    Avril 2005
    Messages
    397
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2005
    Messages : 397
    Par défaut
    Salut,
    tu peux garder le résultat dans un tableau.
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $sql = "SELECT id, machin, chose FROM table";	
    $res = mysql_query($sql);
    $arStock = array();
    while($row=mysql_fetch_assoc($res))
        $arStock[] = $row['famille_article'];

    ensuite :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    echo '<select name="stock">';
    foreach(arStock as $stock)
    {
         if ($stock==$recup_stock) 
             echo '<option value="'.$stock.'" selected>'.$stock.'</option>';
         else 
              echo '<option value="'.$stock.'">'.$stock.'</option>';
    }
    echo '</select>';

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 50
    Par défaut
    explique moi car je ne comprend pas dsl merci

  4. #4
    Membre chevronné
    Développeur Web
    Inscrit en
    Avril 2005
    Messages
    397
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2005
    Messages : 397
    Par défaut
    Je viens d'éditer le message pendant que tu répondais ^^

    Je précise : la structure du tableau est à créer selon les besoins du moment

  5. #5
    Membre Expert
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 349
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 349
    Par défaut
    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
    for($i=0; $i<$NbLigne;$i++)
    {					
    echo "<tr>";						
    echo "<td width='10%' align='center'><input color='black' type='text' name='quantite[]' style='width:180px'></td>";
     
    echo "<td width='10%' align='center'>";
    echo "<SELECT name='select_designation' style='HEIGHT: 30px; WIDTH: 150px' onchange='javascript:active_champ_dest();'>";
    mysql_data_seek  ( $result_stock  , 0 )	;					
    while($tab_stock=mysql_fetch_array($result_stock))			
    {						
    $stock=trim($tab_stock['famille_article'],"");			
    if ($stock==$recup_stock)						
    {						
    echo "<OPTION VALUE=$stock SELECTED>$stock</OPTION>";		
    }							
    else								
    {						
    echo "<OPTION VALUE=$stock>$stock</OPTION>";			
    }					
    }						
    echo "</SELECT>";
    mysql_data_seek te permet de repointer sur le premier enregistrement

    autre conseil un echo est multiligne donc

    au lieu de faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    echo "<tr>";						
    echo "<td width='10%' align='center'><input color='black' type='text' name='quantite[]' style='width:180px'></td>";
    tu peux simplifier en:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    echo "<tr>					
    <td width='10%' align='center'><input color='black' type='text' name='quantite[]' style='width:180px'></td>";
    *


    edit: gats a été plus rapide tu as donc deux méthodes différentes

  6. #6
    Membre habitué
    Inscrit en
    Février 2007
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 13
    Par défaut
    Voila ce que je te propose moi
    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
    <?php
    while ($row = mysql_fetch_row( $result_stock )) {
    	if ($key !== null) {
    		$tab_stock[$row[$key]] = $row;
    	} else {
    		$tab_stock[] = $row;
    	}
    }
    for($i=0; $i<count($row);$i++)
    {					
    	echo "<tr>";						
    	echo "<td width='10%' align='center'><input color='black' type='text' name='quantite[]' style='width:180px'></td>";
     
    	echo "<td width='10%' align='center'>";
    	echo "<SELECT name='select_designation' style='HEIGHT: 30px; WIDTH: 150px' onchange='javascript:active_champ_dest();'>";
     
    	foreach($tab_stock as $result)			
    	{						
    		$stock=trim($result['famille_article'],"");			
    		if ($stock==$recup_stock)						
    		{						
    			echo "<OPTION VALUE=$stock SELECTED>$stock</OPTION>";		
    		}							
    		else								
    		{						
    			echo "<OPTION VALUE=$stock>$stock</OPTION>";			
    		}					
    	}						
    	echo "</SELECT>";					
    	echo "</td>";						
    	echo "<td width='10%' align='center'><input color='black' type='text' name='ref[]' style='width:180px'></td>";
     
    	echo "<td width='10%' align='center'><input color='black' type='text' name='observation[]' style='width:180px'></td>";
    	echo "</tr>";					
    }
    ?>

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 50
    Par défaut
    Du coup j'ai prit la tienne boo64, mais merci a tout le monde quand meme.
    Sa fonctionne impec.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 30/01/2015, 16h22
  2. utilisation d'un serial port dans plusieurs forms
    Par lasrevinu dans le forum C#
    Réponses: 3
    Dernier message: 16/03/2010, 10h30
  3. utiliser le resultat d´un select dans une fonction
    Par charlie_p07 dans le forum PostgreSQL
    Réponses: 8
    Dernier message: 12/03/2008, 20h54
  4. Utilisation d'un resultat de fonction dans plusieurs champ
    Par 2-high dans le forum SQL Procédural
    Réponses: 0
    Dernier message: 03/10/2007, 14h36
  5. Utiliser une table MySQL dans un menu deroulant de formulaire
    Par darkfazer dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 17/10/2006, 23h16

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