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 :

Pb recherche via <select> [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 39
    Par défaut Pb recherche via <select>
    Bonjour,je suis une débutante en PHP. On a un projet à effectuer concernant une gestion simple d'un vidiéothèque (cas typique).
    Je suis en train d'essayer faire un formulaire de recherche

    (dont "AR.php") appelle "accesRapide.php"
    ---------------------------------------
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <form action="accesRapide.php" method=POST>
    Acc&egrave;s rapide:
      <?php  require("connexion.php");
    		 $SQL = "SELECT intituleCat FROM categorie";
    		 $res = mysql_query($SQL);
    		  echo "<select name=\"ldr\">";
    		 while($val=mysql_fetch_array($res)) {		
    		 echo "<option value=\"".$val["idCat"]."\">".$val["intituleCat"]."</option>\n";
    		}
    		?>
    		</select>
    		 <input type="submit" value="Rechercher">
    </form>
    accesRapide.php
    ----------------------
    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 
    if ( isset($_POST['ldr'])){
    	if (empty($_POST['ldr'])){echo "veuillez v&eacute;rifier,vous avez les champs non remplis!"."<br>";
    	                         }
    	else{							
    		$idCat=$_POST["ldr"];
    	require_once("connexion.php");
    	if (isset($_POST["ldr"]))
    	$requete = "SELECT * FROM film where idCat=".$idCat;
    	//echo $requete;
    	$resultat = mysql_query($requete,$cnx) or exit(mysql_error() . "<br/>$requete");
    	while ($donnees = mysql_fetch_array($resultat) ){?>
    	<tr class="text"><td><img src="<?php echo $donnees['affiche'];?>" alt=""/></td><td><?php echo $donnees['titreFilm'];?></td><td><?php echo $donnees['acteur'];?></td><td><?php echo $donnees['resumFilm'];?></td></tr> 
    <?php
    }
    }
    }
    else echo "la varialbe n'existe pas!!";
     
    ?>
    Il affiche "la variable n'existe pas" chaque fois quandd j'envoie le formulaire... l'autrement dit,il trouve que mon "$_POST['ldr']" n'existe pas ...J'ai cherché pendant toute la journée, mais... Pourriez vous me dire pourquoi?

    Merci à l'avance:

  2. #2
    Membre émérite Avatar de obito
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2008
    Messages
    773
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2008
    Messages : 773
    Par défaut
    BOnjour et bienvenue sur le forum !

    Heu tu as pas mis POST entre guillemet =)

    SI ce n'est pas je te referais le code pour le rendre plus propre

    EDIT : Plus de précision je parle de POST lors de la création du formulaire <form method="post" action="tapage.php">

  3. #3
    Membre éclairé Avatar de Sekigawa
    Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    432
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 432
    Par défaut
    Citation Envoyé par obito Voir le message
    BOnjour et bienvenue sur le forum !

    Heu tu as pas mis POST entre guillemet =)

    SI ce n'est pas je te referais le code pour le rendre plus propre
    Trop rapide...

    Dis moi c'est bizarre un $_POST peut exister et etre vide ?? C'est la partie

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    if ( isset($_POST['ldr'])){
    	if (empty($_POST['ldr'])){
    Qui me fait me poser la question...

  4. #4
    Membre émérite Avatar de obito
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2008
    Messages
    773
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2008
    Messages : 773
    Par défaut
    Ben si on suppose que dans le input je n'écrive rien il est vide, et pourtant il existe

    (Et ouais je suis rapide aujourd'hui ^^)

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 39
    Par défaut
    non, ça change rien .
    Merci pour votre rép rapide.

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Tu peux faire un
    pour voir ce que tu recuperes exactement.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 39
    Par défaut
    Citation Envoyé par obito Voir le message
    BOnjour et bienvenue sur le forum !

    Heu tu as pas mis POST entre guillemet =)

    SI ce n'est pas je te referais le code pour le rendre plus propre

    EDIT : Plus de précision je parle de POST lors de la création du formulaire <form method="post" action="tapage.php">

    non, ça change rien .
    Merci pour votre rép rapide.

  8. #8
    Membre émérite Avatar de obito
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2008
    Messages
    773
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2008
    Messages : 773
    Par défaut
    ok !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <form action="accesRapide.php" method='POST'>
    Acc&egrave;s rapide:
     
    <?php require("connexion.php");
    $SQL = "SELECT intituleCat FROM categorie";
    $res = mysql_query($SQL);
    echo "<select name='ldr'>";
    while($val=mysql_fetch_array($res)) {
    echo "<option value='".$val['idCat']."'>".$val['intituleCat']."</option>\n";
    }
    ?>
    </select>
    <input type="submit" value="Rechercher" name="btOk">
    </form>
    Voila le code plus propre

    EDIT : Et la suite :

    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
    <?php 
    if(isset($_POST['btOk'])){
    if ( isset($_POST['ldr'])){
    	if (empty($_POST['ldr'])){echo "veuillez v&eacute;rifier,vous avez les champs non remplis!"."<br>";
    	                         }
    	else{							
    		$idCat=$_POST["ldr"];
    	require_once("connexion.php");
    	if (isset($_POST["ldr"]))
    	$requete = "SELECT * FROM film where idCat=".$idCat;
    	//echo $requete;
    	$resultat = mysql_query($requete,$cnx) or exit(mysql_error() . "<br/>$requete");
    	while ($donnees = mysql_fetch_array($resultat) ){?>
    	<tr class="text"><td><img src="<?php echo $donnees['affiche'];?>" alt=""/></td><td><?php echo $donnees['titreFilm'];?></td><td><?php echo $donnees['acteur'];?></td><td><?php echo $donnees['resumFilm'];?></td></tr> 
    <?php
    }
    }
    }
    else echo "la varialbe n'existe pas!!";
    }
     
    ?>

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 39
    Par défaut
    Citation Envoyé par obito Voir le message
    ok !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <form action="accesRapide.php" method='POST'>
    Acc&egrave;s rapide:
     
    <?php require("connexion.php");
    $SQL = "SELECT intituleCat FROM categorie";
    $res = mysql_query($SQL);
    echo "<select name='ldr'>";
    while($val=mysql_fetch_array($res)) {
    echo "<option value='".$val['idCat']."'>".$val['intituleCat']."</option>\n";
    }
    ?>
    </select>
    <input type="submit" value="Rechercher" name="btOk">
    </form>
    Voila le code plus propre

    EDIT : Et la suite :

    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
    <?php 
    if(isset($_POST['btOk'])){
    if ( isset($_POST['ldr'])){
    	if (empty($_POST['ldr'])){echo "veuillez v&eacute;rifier,vous avez les champs non remplis!"."<br>";
    	                         }
    	else{							
    		$idCat=$_POST["ldr"];
    	require_once("connexion.php");
    	if (isset($_POST["ldr"]))
    	$requete = "SELECT * FROM film where idCat=".$idCat;
    	//echo $requete;
    	$resultat = mysql_query($requete,$cnx) or exit(mysql_error() . "<br/>$requete");
    	while ($donnees = mysql_fetch_array($resultat) ){?>
    	<tr class="text"><td><img src="<?php echo $donnees['affiche'];?>" alt=""/></td><td><?php echo $donnees['titreFilm'];?></td><td><?php echo $donnees['acteur'];?></td><td><?php echo $donnees['resumFilm'];?></td></tr> 
    <?php
    }
    }
    }
    else echo "la varialbe n'existe pas!!";
    }
     
    ?>
    il affiche maintenant "veuillez vérifier,vous avez les champs non remplis!". mais pourtt il y a une valeur dans "$_POST['ldr']"..

  10. #10
    Membre émérite Avatar de obito
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2008
    Messages
    773
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2008
    Messages : 773
    Par défaut
    y a un souci il récupère même pas le bouton OK...

    Sauf que tu as un paramètre dans l'url sauf que tu passe les truc en post j'avoue ne pas trop comprendre la ...

    Tu as bien le même code que je t'ai proposé ? Parce que y a un souci entre l'url (censé utilisé un GET) et la methode utilisée pour récupérer les données ^^

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 39
    Par défaut
    Citation Envoyé par obito Voir le message
    y a un souci il récupère même pas le bouton OK...

    Sauf que tu as un paramètre dans l'url sauf que tu passe les truc en post j'avoue ne pas trop comprendre la ...

    Tu as bien le même code que je t'ai proposé ? Parce que y a un souci entre l'url (censé utilisé un GET) et la methode utilisée pour récupérer les données ^^
    Je me suis trompée le fichier tout a heure
    en fait, il affiche maintenant "veuillez vérifier,vous avez les champs non remplis!". mais pourtt il y a une valeur dans "$_POST['ldr']"..

  12. #12
    Membre émérite Avatar de obito
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2008
    Messages
    773
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2008
    Messages : 773
    Par défaut
    Pour savoir s'il à une valeur tu as vérifié? ^^

    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
    <?php 
    if(isset($_POST['btOk'])){
    if ( isset($_POST['ldr'])){
            echo 'voila l\'élément sélectionné : '.$_POST['ldr'];
    	if (empty($_POST['ldr'])){echo "veuillez v&eacute;rifier,vous avez les champs non remplis!"."<br>";
    	                         }
    	else{							
    		$idCat=$_POST["ldr"];
    	require_once("connexion.php");
    	if (isset($_POST["ldr"]))
    	$requete = "SELECT * FROM film where idCat=".$idCat;
    	//echo $requete;
    	$resultat = mysql_query($requete,$cnx) or exit(mysql_error() . "<br/>$requete");
    	while ($donnees = mysql_fetch_array($resultat) ){?>
    	<tr class="text"><td><img src="<?php echo $donnees['affiche'];?>" alt=""/></td><td><?php echo $donnees['titreFilm'];?></td><td><?php echo $donnees['acteur'];?></td><td><?php echo $donnees['resumFilm'];?></td></tr> 
    <?php
    }
    }
    }
    else echo "la varialbe n'existe pas!!";
    }
     
    ?>
    DOnc voila si tu regarde après le test du isset je propose de faire un echo du $_POST['ldr'] histoire de voir s'il n'est pas vide =)

    EDIT : Non en fait je suis pas rapide aujourd'hui

  13. #13
    Membre éclairé Avatar de Sekigawa
    Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    432
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 432
    Par défaut
    Bah apparemment il rentre dans les 2 premiers if mais ta variable $_POST est vide donc c'est ton value qui n'est pas bon...

    Et en effet dans ta requete tu demande a récupéré que "intituleCat" tu ne peux donc pas récupéré l'id il te faut donc changer ta requete par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $SQL = "SELECT idCat, intituleCat FROM categorie";
    $res = mysql_query($SQL);

  14. #14
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 39
    Par défaut
    Citation Envoyé par obito Voir le message
    y a un souci il récupère même pas le bouton OK...

    Sauf que tu as un paramètre dans l'url sauf que tu passe les truc en post j'avoue ne pas trop comprendre la ...

    Tu as bien le même code que je t'ai proposé ? Parce que y a un souci entre l'url (censé utilisé un GET) et la methode utilisée pour récupérer les données ^^
    Citation Envoyé par Sekigawa Voir le message
    Bah apparemment il rentre dans les 2 premiers if mais ta variable $_POST est vide donc c'est ton value qui n'est pas bon...

    Et en effet dans ta requete tu demande a récupéré que "intituleCat" tu ne peux donc pas récupéré l'id il te faut donc changer ta requete par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $SQL = "SELECT idCat, intituleCat FROM categorie";
    $res = mysql_query($SQL);
    C'est bon, un gd merci? ainsi à obito...

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

Discussions similaires

  1. Recherche particulière via un SELECT
    Par gyllom dans le forum Langage SQL
    Réponses: 13
    Dernier message: 26/03/2014, 07h23
  2. récupération de données via un selected
    Par Appli dans le forum Langage
    Réponses: 7
    Dernier message: 09/12/2006, 16h40
  3. [MySQL] Récupération de données dans un formulaire via un select
    Par Flushovsky dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 02/12/2006, 17h41
  4. recherche via un interval de temps (trimestre / semestre)
    Par erwan.bodere dans le forum Requêtes
    Réponses: 6
    Dernier message: 13/09/2006, 13h34
  5. [PHP-JS] Affichage d'une galerie via un select.
    Par mLk92 dans le forum Langage
    Réponses: 9
    Dernier message: 26/07/2006, 17h24

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