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 alimente par les champs d'une table sql


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 5
    Points : 4
    Points
    4
    Par défaut liste déroulante alimente par les champs d'une table sql
    bonjour ne vous moquez pas j'avoue que j'ai beaucoup de mal mais a 52ans j'ai besoin d'expliquation pour comprendre

    je debute en php et j'ai beau relire les cours php je ne trouve pas ma solution
    donc j'ai une table avec les champs
    id / nom_vote/ lien et com


    donc je voudrais afficher une liste deroulante a partir du champ 'nom_vote'
    afin que l'utilisateur puis changer le contenu du champ ' com' correspondant

    je ne vous mettrez pas tous les essais que j'ai fais mais là je desespere
    donc voici un nouvel essai mais toujours pas concluant
    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
    <?php
       // on se connecte a notre base
     
    //ouverture de la connexion
    function connect_bd()
    {
        $nomserveur='127.0.0.1'; //nom du seveur
        $nombd='test'; //nom de la base de données
        $login='root'; //login de l'utilisateur
        $pass=''; // mot de pass
        $bd=mysql_connect($nomserveur, $login, $pass)or die("Connexion échouée");
        mysql_select_db($nombd,$bd)or die("La base ne peut pas être selectionnée");
        return $bd;
    }
     
     
    ?> 
    <?php
     
    //je lance la requête
    $SQL = mysql_query("SELECT * from softbb_ma_listevote ORDER BY nom_vote");
    $req = mysql_query($SQL) or die('Erreur SQL !<br>'.$SQL.'<br>'.mysql_error());	
    //j'essaie d'afficher sous forme de liste deroulante le contenu de ma table softbb_la listevote par le champ nom_vote
    while ($ligne=mysql_fetch_array($req))	
    {	
     
    	$nom_vote=addslashes($ligne['nom_vote']);	
     
     
    	echo '<option value="'.$ligne['nom_vote'].'">'.$com.'</option>'\n;	
    }	
     
     
    ?>
     
    <?php
     
    //fermeture de la connexion
    function deconnect_bd($bd)
    {
        mysql_close($bd);
        $db=0;
    }
    ?>
    et grand merci a tous ceux qui accepterons de m'aider
    apres refflection je vous rajoute un autre de mes essais
    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
    <?php
    {
    include ("connexion_bd.php");
    $bdd = connect_bd();
    }
     
    // Si tout va bien, on peut continuer
     
     
    ?>
    <form>
       <select>
    <?php
     
    $SQL = "SELECT * FROM softbb_ma_listevote";
    $res = mysql_query($SQL);
    while($val=mysql_fetch_array($res))
     {
     
       echo "<option>".$val["nom_vote"]."</option>\n";
       echo "<option>".$val["com"]."</option>\n";
    }
    ?>
       </select>
     
     
    <?php
     
    $liste=Array('COMPLET','TERMINE','ALLEZ LES FILLES');
    $cnt=count($liste);
    $select=@$_POST['select'];
    $ret='';
     $com= 'com';
    $nom_vote='$nom_vote'; 
     
    if(isset($_POST['valider'])){
        for($x=0;$x<$cnt;$x++)
           if(isset($select[$x]))
              $ret.=$liste[$x].'<br/>';
    }
     
     
    $ret='<br/><form method="post">';
    for($x=0;$x<$cnt;$x++){
       $ret.='<input type="checkbox" name="select['.$x.']"';
       if(isset($select[$x])) $ret.=' checked';
       $ret.='/>'.$liste[$x].'<br/>';
    }
    $ret.='<br/>'.
          '<input type="submit" name="valider" value=" ENVOYER "/>'.
          '</form>';
    echo $ret;
    $mysql_query="INSERT INTO `softbb_ma_listevote` VALUES ('')";
     
          mysql_query('insert into') or die('No inserre'); 
     
    ?>
    </form>
    et voici ce que j'obtiens

  2. #2
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2009
    Messages
    736
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Maroc

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

    Informations forums :
    Inscription : Mai 2009
    Messages : 736
    Points : 1 101
    Points
    1 101
    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
     
    $SQL = "SELECT * from softbb_ma_listevote ORDER BY nom_vote";
    $req = mysql_query($SQL) or die('Erreur SQL !<br>'.$SQL.'<br>'.mysql_error());
    echo '<select name="">';
    while ($ligne=mysql_fetch_array($req))	
    {	
     
    	$nom_vote=addslashes($ligne['nom_vote']);	
     
     
    	echo '<option value="'.$ligne['nom_vote'].'">'.$com.'</option>'\n;	
    }	
    echo '</select>';
    A la recherche d'un film : http://chercher-un-film.com

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 5
    Points : 4
    Points
    4
    Par défaut resultat vide?
    bonjour
    j'ai corriger mon code mais il me dit que j'ai une erreur j'ai mis le temps mais j'ai trouve
    mais le resultat n'est pas celui souhaiter regarder mes listes deroulantes sont vides

    d'ou peu provenir l'erreur ?

    code corrige
    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
    <?php
    {
    include ("connexion_bd.php");
    $bdd = connect_bd();
    }
     
    // Si tout va bien, on peut continuer
     
     
    ?>
    <form>
       <select>
    <?php
     {
    $SQL = "SELECT * from softbb_ma_listevote ORDER BY nom_vote";
    $req = mysql_query($SQL) or die('Erreur SQL !<br>'.$SQL.'<br>'.mysql_error());
    }
    echo '<select name="">';
     
    while ($ligne=mysql_fetch_array($req))	
    {	
     
    	$nom_vote=addslashes($ligne['nom_vote']);	
    } 
     
    	echo '<option value="'.$ligne['nom_vote'].'">'.$com.'</option> \n ' ;	
     
    echo '</select>';
     
    ?>
     
     </form>
    merci pour votre aide

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    316
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 316
    Points : 366
    Points
    366
    Par défaut
    bonsoir,
    while ($ligne=mysql_fetch_array($req))
    {

    $nom_vote=addslashes($ligne['nom_vote']);
    } // ce n'est pas ici qu'il faut fermer le while

    echo '<option value="'.$ligne['nom_vote'].'">'.$ligne['com'].'</option> \n ' ; // attention à mettre la bonne variable

    } //c'est ici qu'il faut fermer le while

    Emmanuel
    --------------------------------------
    aucune réponse en message privé.
    les discussions doivent profiter à tous.

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    bonjour,

    merci pour votre aide et les commentaires de mes erreurs car comme ca je comprend mieux et oui je sais je comprends vite mais faut m'expliquer longtemps
    bon j'ai corrige mais j'ai la liste ou les nom_votes ne sont pas afficher l'autre oui

    code corrige
    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
    <?php
     {
    $SQL = "SELECT * from softbb_ma_listevote ORDER BY nom_vote";
    $req = mysql_query($SQL) or die('Erreur SQL !<br>'.$SQL.'<br>'.mysql_error());
     
    }
    echo '<select name="">';
     
    while ($ligne=mysql_fetch_array($req))	
    {	
     
    	$nom_vote=addslashes($ligne['nom_vote']);	
     
     
    	echo '<option value="'.$ligne['nom_vote'].'">'.$ligne['com'].'</option> \n ' ;	
    }	
    echo '</select>';
     
    ?>
     
     </form>
    peu etre que ce n'est pas encore la meilleur facon de faire pour arrive a ce que je souhaite
    ce que je voudrais cest:

    il faut que les utilisateurs puissent changer la valeur du "com" en selectionnant le vote concerné
    ex: si sur le vote01 le com est allez les filles et qu'un utilisateur souhaite mettre termine je ne sais pas si je suis clair pour moi oui car je sais de quoi je parle c'est comme le php facile quand on connait mais quand on debute faire les tutos des cours ok on se debrouille on revient en arriere si un truc ne fonctionne pas mais des que c'est pour moi plus rien ne va
    merci pour votre patient et votre aide

  6. #6
    Modérateur
    Avatar de Vil'Coyote
    Homme Profil pro
    Développeur adélia & Web
    Inscrit en
    Février 2008
    Messages
    4 583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur adélia & Web
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2008
    Messages : 4 583
    Points : 7 503
    Points
    7 503
    Par défaut
    on peut avoir le code php complet depuis ta modif stp? car là on n'en vois que la moitié dont celle ne concernant pas la liste nomvote ou si je me trompe dans ce cas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo '<option value="'.$ligne['nom_vote'].'">'.$ligne['com'].'</option>
    ne devrait pas afficher $ligne['com'] mais le $nom_vote
    la vie n'est pas cirrhose des foies ...

    Avant de poster un message Rechercher n'est pas qu'une option.
    FAQ Web - Tuto Web

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    bonjour,

    le code est complet car je vais faire etape par etape
    donc si je laisse comme ca ca affiche une des trois valeur du champ "com"
    si je mets ".$ligne['nom_vote'].ca affiche la liste des noms ce que je souhaite
    mais si je fais
    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
    <?php							  
     $liste=Array('COMPLET','TERMINE','ALLEZ LES FILLES');
     
     
    $cnt=count($liste);
    $select=@$_POST['select'];
    $ret='';
     
     
    if(isset($_POST['valider'])){
        for($x=0;$x<$cnt;$x++)
           if(isset($select[$x]))
              $ret.=$liste[$x].'<br/>';
    }
     
     
    $ret.='<br/><form method="post" action="postessai.php">';
    for($x=0;$x<$cnt;$x++){
       $ret.='<input type="checkbox" name="select['.$x.']"';
       if(isset($select[$x])) $ret.=' checked';
       $ret.='/>'.$liste[$x].'<br/>';
    }
    $ret.='<br/>'.
          '<input type="submit" name="valider" value=" ENVOYER "/>'.
          '</form>';
    echo $ret;
     
     
    ?>
    pour que les utilisateurs puissent choisir le commentaire
    comment je fais pour dire a php que je veux que le choix qui a ete fait par l'utilisateur doit etre update dans le champ "com" de ma table (sur la meme ligne que le nom du vote

    ex : si il choisi le "vote05" et qu'il veut marqué "complet" dans le champs com de ce vote comment je fais quel code quel requete

Discussions similaires

  1. [AC-97] Liste déroulante basée sur plusieurs champs d'une table
    Par docjo dans le forum Requêtes et SQL.
    Réponses: 7
    Dernier message: 02/01/2012, 18h01
  2. [MySQL] PHP Liste déroulante qui récupère les champs d'une table
    Par Cathe89 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 10/06/2010, 12h55
  3. retourner tout les champs d'une table sql
    Par maroonet dans le forum C#
    Réponses: 1
    Dernier message: 21/04/2010, 14h56
  4. Réponses: 3
    Dernier message: 12/05/2009, 15h22
  5. Réponses: 1
    Dernier message: 20/03/2007, 10h24

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