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 :

[SQL] Utilisation de variables dans une requête SQL


Sujet :

PHP & Base de données

  1. #1
    Membre régulier Avatar de heteroclite
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    147
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 147
    Points : 81
    Points
    81
    Par défaut [SQL] Utilisation de variables dans une requête SQL
    Bonjour,

    j'essaye de récupérer les informations saisies dans un formulaire pour alimenter une requête sql et retourner les resultats....j'ai tenté un truc .....mais j'ai une erreur dans la requete ....une idée ?

    merci
    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
    <?php 
    // On commence par récupérer les champs 
    if(isset($_POST['jour']))      $jour=$_POST['jour'];
    else      $jour="";
     
    if(isset($_POST['mois']))      $mois=$_POST['mois'];
    else      $mois="";
     
    if(isset($_POST['an']))      $an=$_POST['an'];
    else      $an="";
     
     
    if(isset($_POST['ville']))      $ville=$_POST['ville'];
    else      $ville="";
     
     
     
     
     
     
        { 
           // connexion à la base
    $db = mysql_connect('******', '*******', '******')  or die('Erreur de connexion '.mysql_error());
    // sélection de la base  
     
        mysql_select_db('*******',$db)  or die('Erreur de selection '.mysql_error()); 
     
        // on crée la requête SQL 
    SELECT * FROM annonce WHERE jour='$jour' AND mois='$mois' AND an='$an' AND ville='$ville';
     
    // on envoie la requête 
    $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); 
     
    // on fait une boucle qui va faire un tour pour chaque enregistrement 
    while($data = mysql_fetch_assoc($req)) 
        { 
        // on affiche les informations de l'enregistrement en cours 
        echo '<b>'.$data['jour'].' '.$data['mois'].'</b> ('.$data['an'].')'; 
        echo ' <i>ville : '.$data['ville'].'</i><br>'; 
        } 
     
    // on ferme la connexion à mysql 
    mysql_close(); 
    ?>

  2. #2
    Membre actif Avatar de renaudjuif
    Inscrit en
    Avril 2006
    Messages
    325
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 325
    Points : 258
    Points
    258
    Par défaut
    Quel est le message d'erreur ?
    C'est curieux chez les marins ce besoin de faire des phrases !

  3. #3
    Membre régulier Avatar de heteroclite
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    147
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 147
    Points : 81
    Points
    81
    Par défaut
    voici le message

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Parse error: syntax error, unexpected T_STRING in /home/serevo/public_html/recherche1script.php on line 65
    la ligne 65 c'est celle la
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM annonce WHERE jour='$jour' AND mois='$mois' AND an='$an' AND ville='$ville';

  4. #4
    Membre actif Avatar de renaudjuif
    Inscrit en
    Avril 2006
    Messages
    325
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 325
    Points : 258
    Points
    258
    Par défaut
    et si tu faisais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $sql="SELECT * FROM annonce WHERE jour='$jour' AND mois='$mois' AND an='$an' AND ville='$ville'";
    C'est curieux chez les marins ce besoin de faire des phrases !

  5. #5
    Membre régulier Avatar de heteroclite
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    147
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 147
    Points : 81
    Points
    81
    Par défaut
    merci ....ça marche
    mais par contre il y a un trucs qui va pas ....

    par exemple j'ai deux dates identiques dans la base ....ça devrait me sortir deux enregistrements....et en fait j'en ai qu'un ....tu as une idée ?

  6. #6
    Membre actif Avatar de renaudjuif
    Inscrit en
    Avril 2006
    Messages
    325
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 325
    Points : 258
    Points
    258
    Par défaut
    Ca doit être une histoire de "AND" et de "OR" dans ta requête...

    Dans ta requête, il faut que tous les critères soient valides (jour='$jour' AND mois='$mois' AND ...)
    Si tu remplaces tes AND par des OR, si au moins 1 des conditions est remplie (2 dates pareilles par ex.), ça te retournera 2 enregistrements.
    C'est curieux chez les marins ce besoin de faire des phrases !

  7. #7
    Membre régulier Avatar de heteroclite
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    147
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 147
    Points : 81
    Points
    81
    Par défaut
    ok
    mais par exemple j'ai dans la base

    23/03/2006 paris
    23/03/2006 lyon
    23/03/2006 marseille
    23/04/2006 bordeaux
    12/05/2006 bordeaux

    mon formulaire me permet de selectionner :
    un jour
    un mois
    une année
    une ville


    Si je selectionne
    juste jour= 23
    alors je voudrais que la requete m'affiche:
    23/03/2006 paris
    23/03/2006 lyon
    23/03/2006 marseille
    23/04/2006 bordeaux

    si je selectionne
    jour=23
    mois=03
    alors je voudrais que la requete m'affiche:
    23/03/2006 paris
    23/03/2006 lyon
    23/03/2006 marseille


    qu'est ce que je dois modifier dans mon script pour avoir ça ?

    merci !

  8. #8
    Membre à l'essai
    Inscrit en
    Juillet 2006
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 17
    Points : 19
    Points
    19
    Par défaut
    salut,

    moi pour faire ça j'utilise
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     where ville like '%$ville%'
    au lieu de
    ainsi, si $ville=="", elles seront toutes sélectionnées par ta requête, et tu auras tout les enregistrements correspondant à ta date, quelque soit la ville.

    bon je ne suis pas un pro, plutôt un bidouilleur, donc il est fort possible que quelqu'un connaisse une solution un peu plus optimisée...

    bonne journée,

    jérôme

    [edit] je me rends compte que ça pose problème en effet s'il existe une ville dont le nom est contenu dans le nom d'une autre ville... c'est pas parfait du tout...

  9. #9
    Membre régulier Avatar de heteroclite
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    147
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 147
    Points : 81
    Points
    81
    Par défaut
    merci pour ces infos....je vais mettre ça en pratique ....mais comment faire en cas de "pas de résultat pour la requête", pour aiguiller l'utilisateur vers une autre page html ?

Discussions similaires

  1. Utiliser les variables dans une requête sql
    Par LaPanic dans le forum Requêtes
    Réponses: 3
    Dernier message: 08/10/2012, 17h08
  2. [AC-2003] Utiliser une variable dans une requête SQL
    Par alainb dans le forum IHM
    Réponses: 5
    Dernier message: 06/01/2012, 10h22
  3. Utiliser une variable dans une requête SQL
    Par JerBi dans le forum DB2
    Réponses: 2
    Dernier message: 29/08/2007, 10h56
  4. Comment utiliser des variables dans une requête SQL ?
    Par Ragnarok85 dans le forum Requêtes et SQL.
    Réponses: 10
    Dernier message: 12/02/2007, 16h23
  5. [SQL] Utilisation de variables dans une requête SQL
    Par heteroclite dans le forum Langage
    Réponses: 8
    Dernier message: 07/09/2006, 22h38

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