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

PHP & Base de données Discussion :

Liste déroulante et formulaires PHP [MySQL]


Sujet :

PHP & Base de données

Vue hybride

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 205
    Par défaut Liste déroulante et formulaires PHP
    Bonjour,

    Dans la partie "gestion des utilisateurs" de mon site web, je dois réaliser une partie "modification des utilisateurs".

    1) J'ai une liste déroulante dans laquelle je rapatrie tous les utilisateurs de ma base.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    mysql_select_db($database_c, $db);
    $query_utilisateurs = "SELECT * FROM utilisateurs ORDER BY nom ASC"; 
    $utilisateurs = mysql_query($query_utilisateurs, $db) or die(mysql_error());
    $row_utilisateurs = mysql_fetch_assoc($utilisateurs);
    2) Un formulaire avec tous les champs de ma table utilisateur.
    Chaque champ est rempli par les données corespondantes.
    Ex:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input name="login" type="text" id="login" value="<?php echo $row_utilisateurs['login']?>">
    (pour le moment seul le premier utilisateur s'affiche automatiquement, normal puisqu'il n'y a encore aucun lien entre ma liste et le formulaire)

    Ce que je voudrais réaliser c'est que:
    1) Dès qu'on clique sur un login de la liste déroulante, cela affiche les infos de l'utilisateur correspondant dans chaque champ du formulaire.

    OU

    2) On sélectionne un Login de la liste, puis on clique sur un bouton "confirmer", et seulement à partir de ce moment là les infos utilisateurs s'affcihent dans le formulaire.

    Mais voilà, je ne sais pas quel code appliqué pour résoudre pour souci.

    Avez-vous une idée?

    Merci d'avance

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    382
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Mai 2006
    Messages : 382
    Par défaut
    Bonjour,

    D'après ce que j'ai lu, tu as deja le menu deroulant avec tous les logins des utilisateurs.

    Maintenant, il ne te reste plus qu'a creer un formulaire avec les champs correspondant a ta table.

    apres validation, tu recupere le login :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <?php
    $login=$_GET ou $_POST['login'] ;
    ?>
    tu envoi la requete recuperer tous les infos
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <?php
    $reponse = mysql_query("SELECT tousleschampsdetatable from tatable WHERE (monchamps LIKE '%$login%') ") ;
    ?>
    dans le formulaire, tu fais pour tous les champs que tu souhaite afficher :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type='text' name='login' value='".$donnees['nomdelacolonnedetatable']."'>
    voilà, avec ça je pense que c'est bon.

    Bon courage

    Ciao

  3. #3
    Membre Expert Avatar de riete
    Homme Profil pro
    DevWeb - Oléiculteur
    Inscrit en
    Avril 2006
    Messages
    1 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : DevWeb - Oléiculteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 193
    Par défaut
    Il te faut simplement mettre une liste SELECT qui va bien comme ceci. Ensuite tu récupère ton ID_Utilisateur avec la clé primaire de ta table (j'espère que tu en as une de clé primaire ) avec $_GET['ID_Utilisateur'].
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form name=nav><select name="ID_Utilisateur" size="1" onChange="document.location.href=document.nav.ID_Utilisateur.options[document.nav.ID_Utilisateur.selectedIndex].value">

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    205
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 205
    Par défaut
    Pour plus de précision,


    J'ai
    -une liste déroulante avec les login ,
    -un bouton "confirmer",
    -un formulaire avec tous les champs de la table utilisateurs et
    -un bouton 'Modifier'

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     
     
    if(isset($_POST['nav'])){ 
     
    		$login = $_POST['login'];
     
        $modification_utilisateur = mysql_query("SELECT * FROM utilisateurs WHERE login='$login'");
    	$infos = mysql_fetch_assoc($modification_utilisateur);
     
    } ?>
    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
    <form action="" method="post" name="modification">
    <form name=nav>
    				<select name="modification" size="5" id="select1">
    // avec tous les login
    
    </select>
    				<input type="submit" name="Submit" value="Confirmer">
    				</form>
    
    <table width="400" border="0" align="center" cellpadding="5" cellspacing="0" bgcolor="#eeeeee">
        <tr>
          <td width="40"><H4>Login</H4></td>
          <td width="144"><input name="login" type="text" id="login" value="<?php echo $infos['login']?>"></td>
        </tr>
    
    <input type="submit" name="Submit" value="Modifier cet utilisateur">
     </table>
        </form>
    Dans cet exemple je ne me suis interessé qu'au rapatriement du login , pour tester.
    En fait quand je clique sur le bouton "Confirmer" il ne se passe rien.

    Je dois certainement mal appliquer les conseils que vous m'avez indiqué!
    Voyez-vous mes erreurs???

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    382
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Mai 2006
    Messages : 382
    Par défaut
    essaye de tt mettre en php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
    echo "<form action='' method='post' name='modification'>
    <form name=nav>
    				<select name='modification' size='5' id='select1'>
    // avec tous les login
    
    </select>
    				<input type='submit' name='Submit' value='Confirmer'>
    				</form> " ;
    ?>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
    echo "<table width='400' border='0' align='center' cellpadding='5' cellspacing='0' bgcolor='#eeeeee'>
        <tr>
          <td width='40'><H4>Login</H4></td>
          <td width='144'><input name='login' type='text' id='login' value= '".$infos['login']."'></td>
        </tr>
    
    <input type='submit' name='Submit' value='Modifier cet utilisateur'>
     </table>
        </form> " ;
    ?>

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    205
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 205
    Par défaut
    La manière dont je l'avais marqué
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    value="<?php echo $infos['login']?>">
    , ça doit marché car dans un autre programme que j'ai fais ça marche de cette manière.

    le problème ne viendrai pas du fait que j'ai insérer deux formulaire l'un dans l'autre et que du coup la variable qu'il doit afficher dans le champ 'login' il ne le trouve pas???

    Aurais-tu un bout de code comme exemple, qui me permmetrai de voir plus concrètement la sélection d'un login dans une liste et que ça l'affiche dans le champ login d'un formulaire?

  7. #7
    Membre Expert Avatar de riete
    Homme Profil pro
    DevWeb - Oléiculteur
    Inscrit en
    Avril 2006
    Messages
    1 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : DevWeb - Oléiculteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 193
    Par défaut
    Je vois aux moins 2 sources de problème:

    1/ remplace
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(isset($_POST['nav'])){
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(isset($_POST['Submit'])){ // ou Submit est le nom de ton bouton qui valide la liste Select
    2/ Pour récupérer une variable POST, il faut que tu spécifie la method POST à ton formulaire Remplace:Par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form name=nav method=post>
    Tu as repris le code que je t'avais passé pour un auto submit, mais dans le cas que je te proposais, la méthode utilisée est GET et non POST. Avec la méthode GET, tu utilise la variable RESQUEST.
    A+

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 04/05/2007, 12h23
  2. Réponses: 1
    Dernier message: 04/05/2007, 12h15
  3. Liste déroulante recherche formulaire
    Par ivan7 dans le forum Access
    Réponses: 17
    Dernier message: 22/06/2006, 14h37
  4. Pb liste déroulante avec formulaire en AcFormAdd
    Par patbeautifulday1 dans le forum Access
    Réponses: 1
    Dernier message: 20/06/2006, 19h13
  5. liste déroulante dans formulaire continu
    Par remi59 dans le forum Access
    Réponses: 7
    Dernier message: 31/03/2006, 09h40

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