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 :

Erreur de syntaxe dans une requête [MySQL]


Sujet :

PHP & Base de données

  1. #21
    Débutant  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Points : 353
    Points
    353
    Par défaut
    Ok. On avance, on avance!!
    Donc si tu modifie ta requête de la manière suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     SELECT raison_sociale, dirigeant
        FROM liste
        WHERE raison_sociale LIKE '%$raison%'
           OR dirigeant LIKE '%$dirige%'
    J'ai retiré les simple quote autour du nom de table car ils snt pas utile.

    Ensuite dans ton while, fais la chose suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    while ( ($clients = mysql_fetch_object ($resultat))) {
    	   echo $raison." ->raison sociale<br />";
    	   echo "dirigée par ".$dirige." ->dirigeant </br>";
    }
    (les choses modifiées sont en rouge)

    Cela donne un meilleur résultat ?

  2. #22
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    86
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Décembre 2010
    Messages : 86
    Points : 24
    Points
    24
    Par défaut
    Merci pour cet élan d'aide lorsque je mentionne mon 'projet'

    Bon j'ai presque arrangé le code tout seul, ce qui donne maintenant :

    Coté Formulaire :
    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
    <form action="myphp2.php" method="get">
     
    <div style="background:#EEE; padding:10px;">
     
    <div style="background:RED; color:white; text-align:center;">
    <H3>LES RECHERCHES MULTI-CRITERES SONT EN DEVELOPPEMENT</H3>
    </div>
    <p>
    Raison Sociale : <input type="text" size="20" name="raison_sociale" value="" /><br />
    Dirigeant : <input type="text" size="20" name="dirigeant" value="" /><br />
    adresse : <input type="text" size="20" name="adresse" value="" /><br />
    code postal : <input type="text" size="20" name="cp" value="" /><br />
    Région : <input type="text" size="20" name="region" value="" /><br />
    Ville : <input type="text" size="20" name="ville" value="" /><br />
    Téléphone : <input type="text" size="20" name="telephone" value="" /><br />
    Télécopie : <input type="text" size="20" name="telecopie" value="" /><br />
    Email : <input type="text" size="20" name="email" value="" /><br />
    Email2 : <input type="text" size="20" name="email2" value="" /><br />
    Code_naf : <input type="text" size="20" name="code_naf" value="" /><br />
    Libelle_naf : <input type="text" size="20" name="libelle_naf" value="" /><br />
    Rubrique professionnelle : <input type="text" size="20" name="rubrique_professionnelle" value="" /><br />
     
     </p>
     <input type="submit" value="Rechercher" />
    Et du coté requête PhP (myphp2.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
    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
    73
    74
    75
    76
    77
    78
    79
    80
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>resultats</title>
    </head>
    </head>
     
    <body>
    	  <?php 
     
    	include('include/connection.php'); 
     
    	  $raison = $_GET['raison_sociale'];
    	  $dirige = $_GET['dirigeant'];
    	  $adresse = $_GET['adresse'];
    	  $cp = $_GET['cp'];
    	  $region = $_GET['region'];
    	  $ville = $_GET['ville'];
    	  $telephone = $_GET['tel'];
    	  $telecopie = $_GET['telecopie'];
    	  $email = $_GET['email'];
    	  $email2 = $_GET['email2'];
    	  $code_naf = $_GET['code_naf'];
    	  $libelle_naf = $_GET['libelle_naf'];
    	  $rubrique_professionnelle = $_GET['rubrique_professionnelle'];
     
     
     
    	  echo "<b><br />
                    Raison sociale = $raison <br />
                    dirigeant = $dirige \n </b> <br/>";
     
     
    	$requete = "
        SELECT raison_sociale, dirigeant, adresse, cp, region, ville, tel, telecopie, email, email2, code_naf, libelle_naf, rubrique_professionnelle
        FROM liste
        WHERE `raison_sociale` LIKE '%$raison%'
           OR dirigeant LIKE '%$dirige%'
    	   OR adresse LIKE '%$adresse%'
    	   OR cp LIKE '%$cp%'
    	   OR region LIKE '%$region%'
    	   OR ville LIKE '%$ville%'
    	   OR tel LIKE '%$telephone%'
    	   OR telecopie LIKE '%$telecopie%'
    	   OR email LIKE '%$email%'
    	   OR email2 LIKE '%$email2%'
    	   OR code_naf LIKE '%$code_naf%'
    	   OR libelle_naf LIKE '%$libelle_naf%'
    	   OR rubrique_professionnelle LIKE '%$rubrique_professionnelle%'";
     
    	//echo $requete, $requete2;
     
    	 $connexion = mysql_pconnect (localhost,Lucas,bonomi);
    	  mysql_select_db (lucas, $connexion);
     
    	  $resultat = mysql_query ($requete, $connexion) OR die("<br />
    Erreur SQL : $query<br/>".mysql_error());
     
    	while ( ($clients = mysql_fetch_array ($resultat)))
    	{
    		?>
    	            <td><?php echo $clients['ID']; ?></td>
                    <td><?php echo $clients['raison_sociale'];?></td>
                    <td><?php echo $clients['dirigeant']; ?></td>
                    <td><?php echo $clients['adresse']; ?></td>
                    <td><?php echo $clients['cp']; ?></td>
                    <td><?php echo $clients['ville']; ?></td>
                    <td><?php echo $clients['tel']; ?></td>
                    <td><?php echo $clients['telecopie']; ?></td>
                    <td><?php echo $clients['email']; ?></td>
                    <td><?php echo $clients['email2']; ?></td>
                    <td><?php echo $clients['code_naf']; ?></td>
                    <td><?php echo $clients['libelle_naf']; ?></td>
                    <td><?php echo $clients['rubrique_professionnelle']; ?></td>
    <br />
    <?php } ?><br /><br />
    	  <?php echo $requete ?>
    </body>
    </html>

    Seul problème, toutes mes entrées sont affichées.... -_-

  3. #23
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Aurais-tu des colonnes de la table qui sont vides ?

    Il vaut mieux construire la requête en fonction de la saisie de l'utilisateur :
    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
    $requete = "
        SELECT raison_sociale, dirigeant, adresse, cp, region, ville, tel, telecopie, email, email2, code_naf, libelle_naf, rubrique_professionnelle
        FROM liste 
        WHERE 1 
    ";
     
    if ($raison != '')
    {
        $requete .= " AND raison_sociale LIKE '%$raison%' ";
    }
     
    if ($dirige != '')
    {
        $requete .= " AND dirigeant LIKE '%$dirige%' ";
    }
     
    // ainsi de suite
    À toi de voir si tu veux que tous les critères choisis par l'utilisateur doivent correspondre, auquel cas c'est AND à chaque ligne du WHERE, ou si c'est l'un ou l'autre des critères, auquel cas c'est OR à chaque ligne du WHERE.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  4. #24
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    86
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Décembre 2010
    Messages : 86
    Points : 24
    Points
    24
    Par défaut
    Le résultat est le même, toute ma table 'liste' est affichée.

    :/

    je sens qu'on touche presque du doigt la solution, c'est de mieux en mieux, mais j'ai l'impression que maintenant, les recherches ne marchent plus

  5. #25
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    86
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Décembre 2010
    Messages : 86
    Points : 24
    Points
    24
    Par défaut
    Autant pour moi, tout marche super

    Merci à vous deux !

  6. #26
    Débutant  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Points : 353
    Points
    353
    Par défaut
    Faut que tu regarde ce que renvoie la variable '$requete' puis que tu la teste sur ton requêteur sql ce qui à mon avis te permettra de voir à quel endroit ça bloque dans ta requête.

  7. #27
    Débutant  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Points : 353
    Points
    353
    Par défaut
    C'étais quoi alors le souci ?

    Cool si j'ai pu t'aider à résoudre ton souci.

    P.S. : Oublie pas de mettre le tag "résolu" si c'est le cas.

  8. #28
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    86
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Décembre 2010
    Messages : 86
    Points : 24
    Points
    24
    Par défaut
    Comme me l'avais conseillé CinéPhil, lors de sa dernière explication, J'avais remplacé tout les AND par des OR, et ce qui m'avais amené a vous envoyer mon message, comme quoi ça ne marchait toujours pas.... Mais en faisant machine arière et en laissant les AND à leurs places, tout marche super

    Vous m'avez bien aidé, autant l'un que l'autre.
    et je vous en remercie

    au passage venez donc faire un tour sur mon site de streaming (j'espère que ce n'est pas trop déplacé d'en parler ici )

    À bientôt.
    Luky

    Streaming-Addict

  9. #29
    Débutant  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Points : 353
    Points
    353
    Par défaut
    C'était avec plaisir que je t'est aidé et je suis content que tu est résolu ton souci.

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Erreur de syntaxe dans une requête
    Par dark_geek dans le forum ASP
    Réponses: 10
    Dernier message: 28/05/2009, 18h15
  2. Erreur de syntaxe dans une requête
    Par Equinoxe5 dans le forum Requêtes
    Réponses: 3
    Dernier message: 29/04/2009, 13h09
  3. Réponses: 8
    Dernier message: 09/09/2008, 09h28
  4. Erreur de syntaxe dans une requête SQL
    Par Gabout dans le forum Requêtes et SQL.
    Réponses: 11
    Dernier message: 08/01/2008, 17h19
  5. Erreur de syntaxe dans une requête SQL
    Par amnesias dans le forum Langage SQL
    Réponses: 2
    Dernier message: 23/01/2007, 12h50

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