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 :

Liste déroulante Requête SQL Valeur par défaut


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Janvier 2011
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 10
    Par défaut Liste déroulante Requête SQL Valeur par défaut
    Bonjour,

    Pour un projet d'école j'ai créer un formulaire de ce type

    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
    echo'<form method="post">  Nom du Poste
    	<select name="nomposte" id="nomposte"> ';
    	$sql= "SELECT NomPoste FROM ordinateur"; 
    	$liste = mysql_query($sql); 
    	while ($valeur=mysql_fetch_array($liste)) 
    	{ 
    	echo "<option>".$valeur["NomPoste"]."</option>"; 
    	} 
    	echo'</select>';
    	echo'
    	ecran 
    	<select name="nomecr" id="nomecr"> ';
    	$sql= "SELECT nomecran FROM ecran"; 
    	$liste = mysql_query($sql); 
    	while ($valeur=mysql_fetch_array($liste)) 
    	{ 
    	echo "<option>".$valeur["nomecran"]."</option>"; 
    	} 
    	echo'</select> ';
    Ce n'est qu'un résumé car j'ai beaucoup de liste déroulantes qui récupèrent le nom des postes, écrans, imprimantes etc..

    En fait, je n'ai pas trouver de solution mais quand je veux modifier par exemple un poste pour un user, la valeur par défaut est la valeur tout en haut de la liste.. du coup c'est pas très pratique, pour modifier un truc, il faut faire attention a bien modifier chaque liste déroulante ! J'aimerais que la valeur par défaut soit celle qui correspond à l'user en question ... Le peu de chose que j'ai trouvé n'a pas fonctionné...

    Merci pour votre aide

    Cordialement

  2. #2
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    Bonjour,

    Je suppose que tu as une table des utilisateurs avec dedans pour chaque utilisateur: le nom du poste, le nom de l'écran etc ...

    Avec le code suivant celà te permettrait de réussir ...
    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
     
    // Nous récupérons les nom de poste, nom d'écran etc dans des variables
    $nomPoste = ...;
    $nomEcran = ...;
     
    // Le html
    echo'<form method="post">  Nom du Poste
    	<select name="nomposte" id="nomposte"> ';
    	$sql= "SELECT NomPoste FROM ordinateur"; 
    	$liste = mysql_query($sql); 
    	while ($valeur=mysql_fetch_array($liste)) 
    	{ 
                     if( $valeur["NomPoste"] == $nomPoste)
                           echo '<option value="1" selected>'.$valeur["NomPoste"].'</option>';
                     else
                          echo '<option value="1">'.$valeur["NomPoste"].'</option>';
     
    // de même pour les autres
     
                 } 
    	echo'</select>';
     
    // etc ....

  3. #3
    Membre habitué
    Inscrit en
    Janvier 2011
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 10
    Par défaut
    Merci beaucoup de m'avoir donné une piste.. je viens d'essayer
    il y a du changement, seulement ça ne fonctionne pas.. Maintenant le champ par défaut est le dernier de ma table..

    Pour info en début de page je fais une requête

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $req="select *
     from utilisateur, ordinateur, local, ecran, imprimante
     where utilisateur.IdUser=ordinateur.IdUser and ordinateur.NomLocal = local.NomLocal and local.NomLocal = imprimante.NomLocal and imprimante.NomLocal = ecran.NomLocal and utilisateur.IdUser='$iduser'";
    Ensuite j'associe les variables :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $prenom = $lgassoc['Prenom'];
    $nom = $lgassoc['Nom'];
    $Login = $lgassoc['Login'];
    Du coup j'ai bien fait ton code mais la valeur par défaut n'est pas la bonne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    echo'<form method="post">  Nom du Poste
    	<select name="nomposte" id="nomposte"> ';
    	$sql= "SELECT NomPoste FROM ordinateur"; 
    	$liste = mysql_query($sql); 
    	while ($valeur=mysql_fetch_array($liste)) 
    	{ 
                     if( $valeur["NomPoste"] == $nomposte)
                           echo '<option value="1" selected>'.$valeur["NomPoste"].'</option>';
                     else
                          echo '<option value="1">'.$valeur["NomPoste"].'</option>';
    	} 
    	echo'</select>';
    Je ne vois pas ce qui coince..

  4. #4
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    J'avais fait un edit pour modifier mon code mais peut être que ne la pas vu ...

    C'est pas:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
                     if( $valeur["NomPoste"] == $nomposte)
                           echo '<option value="1">'.$valeur["NomPoste"].'</option>';
                     else
                          echo '<option value="1" selected>'.$valeur["NomPoste"].'</option>';
    Mais 'selected' dans le if et non pas le else

  5. #5
    Membre habitué
    Inscrit en
    Janvier 2011
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 10
    Par défaut
    Ah oui exact.. je viens d'inverser mais ça ne fonctionne pas.. cette fois la valeur par défaut est le premier champ de la liste. .

    EDIT = Pardon, ça fonctionne j'avais fais une erreur en haut de mon code !

    Merci beaucoup pour l'aide !

  6. #6
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    Tu peux essayer un selected="selected" pour la balise <option> mais j'y crois pas trop ...

    Sinon tu as vérifié la valeur de $nomposte avec un echo par exemple ?

    EDIT=OK

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 07/11/2007, 18h48
  2. Liste de choix et valeur par défaut
    Par vic dans le forum Langage SQL
    Réponses: 1
    Dernier message: 07/05/2007, 21h51
  3. [SQL] Valeur par défaut.
    Par aityahia dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 04/07/2006, 16h42
  4. liste déroulante, requête SQL et valeur par défaut
    Par flukie dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 02/06/2006, 11h59
  5. liste déroulante. positionnement sur valeur par défaut
    Par mathieu_r dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 28/06/2005, 15h45

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