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 requête SQL


Sujet :

PHP & Base de données

  1. #1
    Membre régulier
    Inscrit en
    Février 2006
    Messages
    241
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 241
    Points : 83
    Points
    83
    Par défaut Liste déroulante et requête SQL
    Bonjour,

    j'alimente une liste déroulante en SQL et je voudrais afficher tout les enregistrements de ma table si rien n'est selectionné ou au chargement de la page et bien entendu actualisé le tableau en fonction du choix de l'utilisateur.

    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
     
    	<?
    	include("connexion_bdd.php"); 
     
    $SQL = "SELECT DISTINCT ville FROM annonces";
    $res = mysql_query($SQL);
       echo '<form style="vertical-align:middle;"><select name="ddlville">';
       echo '<option>Toutes</option>';
    while($val=mysql_fetch_array($res)) {
       echo '<option>'.$val["ville"].'</option>\n';
    } 
       echo '</select></form> ';
    	 ?>
    Puis j'essaye de récupérer le coix et de lancer la requête adéquate :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    $choixville = $_GET['ddlville'];
    if ($choixville != 'Toutes' && $choixville != '')
    {
    $sql = 'SELECT * FROM annonces WHERE publier="o" and ville='.$choixville.'';
    }
    else
    {
    $sql = 'SELECT * FROM annonces WHERE publier="o"';
    }
    J'ai une erreur quand j'essaye de récupérer le choix ... je ne sais pas si je m'y prend bien ? un avis ? merci

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    514
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 514
    Points : 631
    Points
    631
    Par défaut
    Bonjour,
    un champ select, c'est plutôt comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <form name="form" method="post" action="">
     <select name="select">
      <option value="valeur">texte</option>
     </select>
    </form>
    Où est la valeur des options de votre formulaire?

    Cordialement,
    DaRiaN.

  3. #3
    Membre régulier
    Inscrit en
    Février 2006
    Messages
    241
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 241
    Points : 83
    Points
    83
    Par défaut
    J'alimente la liste déroulante avec le SELECT DISTINCT villes...

  4. #4
    Membre éclairé Avatar de |PaRa-BoL
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    738
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 738
    Points : 876
    Points
    876
    Par défaut
    Tu as oublié les double quote dans ta requete :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $sql = 'SELECT * FROM annonces WHERE publier="o" and ville='.$choixville.'';

    Devient :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $sql = 'SELECT * FROM annonces WHERE publier="o" AND ville="'.$choixville.'"';

  5. #5
    Membre régulier
    Inscrit en
    Février 2006
    Messages
    241
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 241
    Points : 83
    Points
    83
    Par défaut
    j'ai de disponible sur ma page la liste complète des enregistrements affichée plus un petit message d'erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Notice: Undefined index: ddlville in ...

  6. #6
    Membre éclairé Avatar de |PaRa-BoL
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    738
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 738
    Points : 876
    Points
    876
    Par défaut
    C'est pas une erreur c'est une notice car tu ne vérifies pas l'existence de la variable avant de l'assigner

  7. #7
    Membre régulier
    Inscrit en
    Février 2006
    Messages
    241
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 241
    Points : 83
    Points
    83
    Par défaut
    Ok, mais il me reste le problème de l'actualisation, comment faire pour que quand l'utilisateur sélectione une option, cela actualise la page et exécute la bonne recherche ?

  8. #8
    Membre éclairé Avatar de |PaRa-BoL
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    738
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 738
    Points : 876
    Points
    876
    Par défaut
    onchange= dans le select pour executer une fonction JS

Discussions similaires

  1. Récupération de variables de menus déroulants pour requète SQL
    Par Thibaut_Dupont dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 10/07/2006, 14h24
  2. Liste déroulante sur requête
    Par guiguikawa dans le forum Requêtes et SQL.
    Réponses: 7
    Dernier message: 21/06/2006, 12h31
  3. [MySQL] Liste déroulante et requète
    Par Mr Capone dans le forum PHP & Base de données
    Réponses: 12
    Dernier message: 28/03/2006, 14h02
  4. Liste Tstrings et requête SQL
    Par Gats dans le forum Bases de données
    Réponses: 11
    Dernier message: 21/04/2005, 16h03

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