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

Requêtes MySQL Discussion :

Formulaire et requete Mysql


Sujet :

Requêtes MySQL

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

    Informations forums :
    Inscription : Janvier 2006
    Messages : 9
    Points : 2
    Points
    2
    Par défaut Formulaire et requete Mysql
    Salut, j'ai un petit probleme qui est le suivant:
    Je voudrais faire une recherche dans une base de donnée, voila mon code suivie de l'erreur

    <form method="post" action="index.php?page=recherche">
    <p>
    <label><span class="liensbis">Auteur : <input type="text" name="auteur"></span>
    <input type="submit" value="Rechercher">

    </label>
    </p>
    </form>

    <?
    mysql_connect("localhost", "root", "");
    mysql_select_db("bibli");

    $reponse = mysql_query('SELECT titres FROM livres WHERE auteur= '.$auteur.'');

    while($donnees = mysql_fetch_array($reponse))
    {
    echo '<p>' . $donnees['titres'] . '</p>';
    }

    ?>


    Erreur: Notice: Undefined variable: auteur in c:\program files\easyphp1-8\www\site\recherche.php on line 14

    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\program files\easyphp1-8\www\site\recherche.php on line 16

    Pouvez m'aidez merci d'avance

  2. #2
    Membre averti
    Avatar de ghostdogpr
    Étudiant
    Inscrit en
    Octobre 2003
    Messages
    198
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2003
    Messages : 198
    Points : 354
    Points
    354
    Par défaut
    Rajoute ceci avant d'utiliser $auteur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $auteur = $_POST['auteur'];

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    Je l'ai rajouté mais cela ne marche toujours pas. Voici le nouveau code et le message d'erreur:

    <form method="post" action="index.php?page=recherche">
    <p>
    <label><span class="liensbis">Auteur : <input type="text" name="auteur"></span>
    <input type="submit" value="Rechercher">

    </label>
    </p>
    </form>

    <?
    mysql_connect("localhost", "root", "");
    mysql_select_db("bibli");
    $auteur = $_POST['auteur'];
    $reponse = mysql_query('SELECT titres FROM livres WHERE auteur= '.$auteur.'');

    while($donnees = mysql_fetch_array($reponse))
    {
    echo '<p>' . $donnees['titres'] . '</p>';
    }

    ?>


    L'erreur:Notice: Undefined index: auteur in c:\program files\easyphp1-8\www\site\recherche.php on line 13

    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\program files\easyphp1-8\www\site\recherche.php on line 16

  4. #4
    Membre émérite
    Avatar de yiannis
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 494
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 494
    Points : 2 791
    Points
    2 791
    Par défaut
    bonjour

    je vois plusieur choses.
    deja un probleme d'apostrophe dans ton query ainsi que le mysql_fetch_array qui te retourne l'indice d'un resultat. Si tu veux recuperer ton $donnees['titres'], il faut que tu utilise mysql_fetch_assoc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     $auteur = $_POST['auteur'];
    $reponse = mysql_query("SELECT titres FROM livres WHERE auteur= ".$auteur);
     
    while($donnees = mysql_fetch_assoc($reponse))
    {
    echo '<p>' . $donnees['titres'] . '</p>';
    }
    comme cela ca devrait fonctionner

  5. #5
    Membre régulier Avatar de Luffy Duck
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    165
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 165
    Points : 120
    Points
    120
    Par défaut
    Est-ce qu'il ne faut pas garder la ressource de la connection en mémoire ? Du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    [b]$res_link[/b] = mysql_connect(...);
    mysql_select_db('opopop', [b]$res_link[/b]);
    mysql_query('SELECT opopop...', [b]$res_link[/b]);

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    J'ai fait exactement les changements proposé par Yiannis mias cela ne marche toujours les erreurs sont toujours les memes et moi je ne trouve pas. Merci pour votre aide

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    J'ai essayé la méthode de Luffy Duck mais cela ne marche toujours pas.

  8. #8
    Membre averti
    Avatar de ghostdogpr
    Étudiant
    Inscrit en
    Octobre 2003
    Messages
    198
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2003
    Messages : 198
    Points : 354
    Points
    354
    Par défaut
    Essaie avec les tests suivant :

    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
    $auteur = $_POST['auteur'];
    $reponse = mysql_query("SELECT titres FROM livres WHERE auteur= ".$auteur);
     
    if (!$reponse) {
       echo "Impossible d'exécuter la requête dans la base : " . mysql_error();
       exit;
    }
     
    if (mysql_num_rows($reponse) == 0) {
       echo "Aucune ligne trouvée, rien à afficher.";
       exit;
    }
     
    while($donnees = mysql_fetch_assoc($reponse))
    {
    echo '<p>' . $donnees["titres"] . '</p>';
    }
    Quelles sont les erreurs ?

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

    Informations forums :
    Inscription : Janvier 2006
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    Voici mon nouveau code:
    <form method="post" action="index.php?page=recherche">
    <p>
    <label><span class="liensbis">Auteur : <input type="text" name="auteur"></span>
    <input type="submit" value="Rechercher">

    </label>
    </p>
    </form>

    <?
    mysql_connect("localhost", "root", "");
    mysql_select_db("bibli");
    $auteur = $_POST['auteur'];
    $reponse = mysql_query("SELECT titres FROM livres WHERE auteur= ".$auteur);

    if (!$reponse) {
    echo "Impossible d'exécuter la requête dans la base : " . mysql_error();
    exit;
    }

    if (mysql_num_rows($reponse) == 0) {
    echo "Aucune ligne trouvée, rien à afficher.";
    exit;
    }

    while($donnees = mysql_fetch_assoc($reponse))
    {
    echo '<p>' . $donnees["titres"] . '</p>';
    }
    mysql_close();
    ?>


    Voici l'erreur : Notice: Undefined index: auteur in c:\program files\easyphp1-8\www\site\recherche.php on line 13
    Impossible d'exécuter la requête dans la base : Erreur de syntaxe près de '' à la ligne 1

  10. #10
    Membre averti
    Avatar de ghostdogpr
    Étudiant
    Inscrit en
    Octobre 2003
    Messages
    198
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2003
    Messages : 198
    Points : 354
    Points
    354
    Par défaut
    Bon deja pour le Undefined index ce n'est qu'un warning, regarde ici pour régler ça : http://www.developpez.net/forums/vie....php?p=2496262

    Pour l'erreur de syntaxe, ça m'échappe pour l'instant Tu as mis tout le contenu du .php ici ?

  11. #11
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    Oui il y a tout le code, je vais aller regarder le lien pour le unexpected. Merci de ton aide

  12. #12
    Membre éprouvé
    Avatar de ozzmax
    Inscrit en
    Novembre 2005
    Messages
    977
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Novembre 2005
    Messages : 977
    Points : 959
    Points
    959
    Par défaut
    Salut il semble vraiment y avoir un trouble avec ta variable posté
    essaie ca pour voir

    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
     
    <? 
    mysql_connect("localhost", "root", ""); 
    mysql_select_db("bibli"); 
    //Ca ici-----
    if(isset($_POST['auteur'])){
    //sa passe donc la variable est postée
    $auteur = $_POST['auteur']; 
    $strScript = "SELECT titres FROM livres WHERE auteur= '$auteur';";
    $reponse = mysql_query($strScript); 
    }
    else{
    echo"ta variable n'est pas postée";
    }
    //--------------
     
    if (!$reponse) { 
    echo "Impossible d'exécuter la requête dans la base : " . mysql_error(); 
    exit; 
    } 
     
    if (mysql_num_rows($reponse) == 0) { 
    echo "Aucune ligne trouvée, rien à afficher."; 
    exit; 
    } 
     
    while($donnees = mysql_fetch_assoc($reponse)) 
    { 
    echo '<p>' . $donnees["titres"] . '</p>'; 
    } 
    mysql_close(); 
    ?>
    Alors ca va p-e te mettre sur une piste...
    si ca passe pas, moi je crois que c'est dans ton html qu'il y a probleme
    p-e par le fait que ton input de type text est placé dans un label...mais bon j'ai jamais testé alors je ne sais pas si ce peut etre ca

  13. #13
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    Effectivement la variable de passe pas. Si cela vient de l'input que doit je faire s'il te plait

  14. #14
    Membre averti
    Avatar de ghostdogpr
    Étudiant
    Inscrit en
    Octobre 2003
    Messages
    198
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2003
    Messages : 198
    Points : 354
    Points
    354
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $strScript = "SELECT titres FROM livres WHERE auteur= '$auteur';";
    Il n'y pas pas un ; en trop ? Je verrais plus :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $strScript = "SELECT titres FROM livres WHERE auteur= '$auteur'";
    :

  15. #15
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    Le résultat est le meme

  16. #16
    Membre éprouvé
    Avatar de ozzmax
    Inscrit en
    Novembre 2005
    Messages
    977
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Novembre 2005
    Messages : 977
    Points : 959
    Points
    959
    Par défaut
    Je ne comprends pas trop pourquoi ca ne poste pas ton truc
    j'ai fait de petits test comme voici
    et ca semble passer correct..je récupère la valeur posté

    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
     
    <? 
    //mysql_connect("localhost", "root", ""); 
    //mysql_select_db("bibli"); 
    //Ca ici----- 
    if(isset($_POST['auteur'])){ 
    //sa passe donc la variable est postée
     
    $auteur = $_POST['auteur']; 
    echo $auteur;
    $strScript = "SELECT titres FROM livres WHERE auteur= '$auteur';"; 
    //$reponse = mysql_query($strScript); 
    } 
    else{ 
    echo"ta variable n'est pas postée"; 
    } 
    //-------------- 
     
    /*if (!$reponse) { 
    echo "Impossible d'exécuter la requête dans la base : " . mysql_error(); 
    exit; 
    } 
     
    if (mysql_num_rows($reponse) == 0) { 
    echo "Aucune ligne trouvée, rien à afficher."; 
    exit; 
    } 
     
    while($donnees = mysql_fetch_assoc($reponse)) 
    { 
    echo '<p>' . $donnees["titres"] . '</p>'; 
    } 
    mysql_close(); */
    ?>
     
    <form method="post" action="page1.php"> 
    <p> 
    <label><span class="liensbis">Auteur : <input type="text" name="auteur"></span> 
    <input type="submit" value="Rechercher"> 
     
    </label> 
    </p> 
    </form>
    je ne vois pas c'est quoi
    le nom de ta page c'est quoi et son extension est bien php...on sait jamais?

  17. #17
    Membre averti
    Avatar de ghostdogpr
    Étudiant
    Inscrit en
    Octobre 2003
    Messages
    198
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2003
    Messages : 198
    Points : 354
    Points
    354
    Par défaut
    Effectivement le code posté par ozzmax marche très bien chez moi aussi

  18. #18
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    Merci beaucoup le code marche super bien.

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

Discussions similaires

  1. Php - MySql page formulaire bug requet
    Par Skin-Party dans le forum Requêtes
    Réponses: 5
    Dernier message: 13/11/2013, 09h13
  2. Formulaire avec requetes Mysql
    Par gearsofcha dans le forum Langage
    Réponses: 1
    Dernier message: 25/09/2012, 10h31
  3. [MySQL] Formulaire php(avec requete mysql)
    Par naut's dans le forum PHP & Base de données
    Réponses: 13
    Dernier message: 26/12/2011, 13h55
  4. arret requete mysql
    Par titiyo dans le forum Bases de données
    Réponses: 5
    Dernier message: 15/10/2004, 17h40

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