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 :

Recherche depuis un formulaire [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de fazpedro
    Homme Profil pro
    Inscrit en
    Août 2009
    Messages
    506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 506
    Par défaut Recherche depuis un formulaire
    Bonjour,
    je souhaite récupérer une information depuis un formulaire et m'en servir pour établir une recherche dans ma table Mysql :
    Merci de votre aide.

    Partie de mon code / formulaire HTML :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    ....
    <form method="post" action="http://fazpedro.free.fr/rechercher.php">
    <fieldset>
    <legend> &nbsp; Recherche dans l'agenda des évènements &nbsp; </legend>
    <p class="double">
    <label for="ev1">Type d'évènement</label>
    	<select name="evenement1" class="ev">
    	<option value="Tous" selected="selected">Tous</option>
        <option value="Concert">Concert</option>
        <option value="Spectacle" >Spectacle</option>
    ....
    mon script 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
    22
    23
    24
    25
    26
    27
    <?php
    //Données pour la connexion à la base de données
    $nom_du_serveur ="sql.free.fr";
    $nom_de_la_base ="user";
    $nom_utilisateur ="user";
    $passe ="mdp";
     
    //Connexion à la base de données
    $db = mysql_connect("$nom_du_serveur","$nom_utilisateur","$passe");
    mysql_select_db("$nom_de_la_base",$db) OR die( "ERREUR de connexion : " . mysql_error () );
     
    //Si il y a une erreur, on crie ^^
    if (!$sql) { die ( 'Erreur de requête : ' . mysql_error() ); }
    //Si tout va bien
    else
     
    // requête SQL
    $select = 'SELECT * FROM evenement WHERE type_evenement = '$_POST['evenement1']."';  
    $result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
    $total = mysql_num_rows($result);
    
     // on recupere le resultat sous forme d'un tableau
    $data = mysql_fetch_array($requete);  
      
    //Déconnexion
    mysql_close();
    ?>
    ma table evenement :
    Champ : type_evenement nom
    Type : varchar(255) Interclassement : utf8_general_ci

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    et ? qu'est ce qui ne marche pas ? au passage ton code est faux regarde la coloration syntaxique

  3. #3
    Invité
    Invité(e)
    Par défaut


    En temps normal je demanderais :
    - Quel est ton problème ?
    - Quel résultat obtiens-tu et quel est le delta entre ce résultat et ce que tu souhaites faire ?

    Mais la coloration syntaxique m'informe que tu as une Parse Error à la ligne 18 de ton script de traitement. Remplace-la par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $select = "SELECT * FROM evenement WHERE type_evenement = '".$_POST['evenement1']."'";
    Autre petit détail : pour une page de recherche, mieux vaut mettre la méthode du formulaire à GET, et ce pour 2 raisons :
    - Sémantique : tu cherches à récupérer des informations du serveur et non pas à poster des informations sur le serveur
    - Pratique : une page de recherche avec une URL en GET est une URL que Google peut référencer

  4. #4
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Bonsoir
    //Si il y a une erreur, on crie ^^
    if (!$sql) { die ( 'Erreur de requête : ' . mysql_error() ); }
    ça crie ou pas , vue que $sql n'est pas définie .

    A+.

  5. #5
    Membre éclairé Avatar de fazpedro
    Homme Profil pro
    Inscrit en
    Août 2009
    Messages
    506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 506
    Par défaut Recherche depuis un formulaire
    @ torvalds17
    j'ai bien modifié la ligne mais l'erreur se trouve sur la ligne suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
    Message d'erreur :
    Parse error: syntax error, unexpected '{' in /mnt/154/sdc/8/e/fazpedro/creation.php on line 20

  6. #6
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    utilise un vrai éditeur sinon tu vas jamais t'en sortir, relis bien ton code.

  7. #7
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Regarde bien la couleur syntaxique, tu as une guillemet non fermée

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $select = "SELECT * FROM evenement WHERE type_evenement = '".$_POST['evenement1']."'";
    Sinon ça sert à quoi le test avec $sql qui est une variable non instanciée .

    A+.

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

Discussions similaires

  1. Recherche d'un enregistrement depuis un formulaire
    Par stevyfr dans le forum VBA Access
    Réponses: 4
    Dernier message: 15/06/2021, 11h37
  2. [XL-2013] Rechercher et lister des données dans une feuille depuis un formulaire
    Par UZeInDub dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 28/01/2015, 09h49
  3. [MySQL] rechercher dans une base de donnée depuis un formulaire
    Par infoworld2013 dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 25/08/2013, 03h45
  4. Rechercher enregistrement depuis sous-formulaire continu
    Par clickandgo dans le forum VBA Access
    Réponses: 1
    Dernier message: 11/05/2012, 22h11
  5. Réponses: 0
    Dernier message: 29/01/2010, 09h11

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