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 et incomprehension =)


Sujet :

Langage PHP

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

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Liste déroulante et incomprehension =)
    Bonjour à tous

    Voilà j'essaie de mettre un place un " site marchand " ( dans le cadre d'un exercice et non professionnel )

    J'utilise Easy php 5.3.0 et notepad ++

    J'ai donc 2 tables dans ma BDD : Produit et Catégorie
    J'arrive a mettre en place une jolie combobox et à récupérer ce que l'utilisateur a sélectionner ( dans $choix ).

    Je souhaite donc afficher le tableau des produits correspondant à la sélection de l'utilisateur

    Ma variable " $choix " est compris entre 0 et 4 suivant la sélection, et mon occurrence "NoCategorie" ( de ma table "produit" ) est comprise entre 1 et 4.

    J'avais donc dans l'idée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql = 'SELECT * FROM produit WHERE NoCategorie="$choix" ORDER BY NoProduit';
    Mais .. ca ne fonctionne pas ^^ . Je ne trouve pas d'issue d'où ma demande d'aide

    Voici mon code en entier :

    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
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    <?php // Import de la fonction Connect DB
    include("fonctions.php");
    ?>
    <html>
    <head><title>GEEK COFEE</title></head>
     
    <body>
    <h1>GEEK COFEE'S !</h1>
     
     <form name="selection" method="post" action="projet.php"><div>
       <select name="cbocategorie">
       <option value=0 selected>(Selection:)</option>
       <option value=1>Thé</option>
       <option value=2>Café</option>
       <option value=3>Chocolat</option>
       <option value=4>Autres</option>
       </select>
       <div><input type="submit" name="valider" value="Afficher les produits."/></div>
     </form>
     
     <?php
            if (isset ($_POST['valider'])){
                //On récupère les valeurs entrées par l'utilisateur :
     
    			 $choix=$_POST['cbocategorie'];
     
                    //On se connecte
                connectDB();
     
     
                //On prépare la commande sql d'insertion
                $sql = 'SELECT * FROM produit WHERE NoCategorie="$choix" ORDER BY NoProduit';
     
                // ON LANCE LA REQUETE 
     
                $result = mysql_query ($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error()); 
    			$total = mysql_num_rows($result);
     
    			// ON AFFICHE LE RESULTAT
    			echo $choix;
     
     
    			// ENTETE TABLEAU 
                echo '<table bgcolor="#FFFFFF">'."\n";
     
                // première ligne on affiche les titres prénom et surnom dans 2 colonnes
                echo '<tr>';
                echo '<td bgcolor="#669999"><b><u>No</u></b></td>';
                echo '<td bgcolor="#669999"><b><u>Désignation</u></b></td>';
    		    echo '<td bgcolor="#669999"><b><u>Prix Unitaire (en /€ ) </u></b></td>';
    		    echo '<td bgcolor="#669999"><b><u>Illustration</u></b></td>';
                echo '</tr>'."\n";
     
    			// TABLEAU AVEC DONNEES DE LA REQUETE SQL
    			while($row = mysql_fetch_array($result)) {
    			  echo '<tr>';
                  echo '<td bgcolor="#CCCCCC">'.$row['NoProduit'].'</td>';
                  echo '<td bgcolor="#CCCCCC">'.$row['DesignationProduit'].'</td>';
    		      echo '<td bgcolor="#CCCCCC">'.$row['PuProduit'].'</td>';
    			  echo '<td bgcolor="#CCCCCC">'.$row['ImgProduit'].'</td>';
    			  echo '<td bgcolor="#CCCCCC">'.$row['NoCategorie'].'</td>';
                  echo '</tr>'."\n";
    			}
     
    			//FIN TABLEAU
    			echo '</table>'."\n";
     
     
     
     
            }
            ?>

    Merci d'avance

  2. #2
    Membre habitué
    Inscrit en
    Décembre 2009
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 79
    Points : 152
    Points
    152
    Par défaut
    Quand tu dis que ça ne fonctionne pas, tu as un message d'erreur, pas les bonnes lignes affichées sur ton tableau, etc ?

  3. #3
    Membre éprouvé Avatar de sharrascript
    Homme Profil pro
    Développeur Web indépendant
    Inscrit en
    Avril 2007
    Messages
    678
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web indépendant

    Informations forums :
    Inscription : Avril 2007
    Messages : 678
    Points : 1 042
    Points
    1 042
    Par défaut
    Bonsoir,

    J'ai pas regarder vraiment le problème. Mais déjà en voyant ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql = 'SELECT * FROM produit WHERE NoCategorie="$choix" ORDER BY NoProduit';
    Ça ne peut pas fonctionner, car ta chaine est entre apostrophe, ce qui signifie qu'elle sortira tel quelle.

    Plus juste serait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql = 'SELECT * FROM produit WHERE NoCategorie="'.$choix.'" ORDER BY NoProduit';
    Mais comme je t'ai dis, je n'ai pas regardé tout le code ou tout le problème, c'est un truc qui m'a sauté à l'œil de suite.

    ++

    P.S. : par contre attention, ainsi ce n'est pas sécurisé

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

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    C'était EXACTEMENT mon problème !

    Merci beaucoup.

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

Discussions similaires

  1. valeur d'une liste déroulante
    Par leeloo076 dans le forum ASP
    Réponses: 7
    Dernier message: 15/04/2004, 16h11
  2. liste déroulante
    Par leeloo076 dans le forum ASP
    Réponses: 12
    Dernier message: 23/03/2004, 10h35
  3. liste déroulante avec session
    Par leeloo076 dans le forum ASP
    Réponses: 3
    Dernier message: 19/03/2004, 11h01
  4. liste déroulante en ASP vbscript
    Par leeloo076 dans le forum ASP
    Réponses: 9
    Dernier message: 17/03/2004, 16h42
  5. Listes déroulantes liées entre elles
    Par denisC dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 27/07/2002, 15h53

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