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 :

syntaxe dans requête sql ?


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 80
    Points : 48
    Points
    48
    Par défaut syntaxe dans requête sql ?
    Salut à tous,

    ce bout de code me rend totalement fou ... Je récupère le champ de mon formulaire dans une pop-up (javascript)et je fais une requête.

    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
     
    <?php $toto = '<script language="JavaScript">document.write(opener.document.getElementById("champ-texte").value);</script>';
     
    	   if (isset($toto)){
    			mysql_connect($serverHost,$userName,$pwd);
    			mysql_select_db($dataBase);
    			mysql_query("SET NAMES UTF8");
     
    			$reponse = mysql_query("SELECT distinct
    
    							  PERSONNE.PER_NOM as 'Nom de la personne',
    							  FONCTION.FON_LIB as 'Libellé de la fonction',
    							  ORGANISME.ORG_NOM as 'Nom organisme'
    
    							from TRIPLET
    
    							INNER JOIN PERSONNE on TRIPLET.TRI_PER_CLE=PERSONNE.PER_CLE
    							INNER JOIN ORGANISME on TRIPLET.TRI_ORG_CLE=ORGANISME.ORG_CLE
    							INNER JOIN FONCTION on TRIPLET.TRI_FON_CLE=FONCTION.FON_CLE
    
    							WHERE ( ( (FONCTION.FON_LIB = 'Maire' AND ORGANISME.ORG_NOM LIKE 'Mairie%')
    
    							                                  OR
    
    							                                  ( (FONCTION.FON_LIB NOT LIKE '--%') AND (   (ORGANISME.ORG_NOM LIKE 'Ministère%')
    							                                                                           OR (ORGANISME.ORG_NOM LIKE 'Communaute de communes%')
    							                                                                           OR (ORGANISME.ORG_NOM LIKE 'Communaute d_Agglomeration')
    							                                                                           OR (ORGANISME.ORG_NOM LIKE 'Communaute de l_Agglomeration%') ) )
    
    							                                  OR (FONCTION.FON_LIB LIKE 'Conseiller Général')
    							                                  OR (FONCTION.FON_LIB LIKE 'Conseillère Générale')
    							                                  OR (FONCTION.FON_LIB LIKE 'Conseiller Régional')   ) )
    
    															AND ( PERSONNE.PER_NOM = '$toto')
    
    															ORDER BY FONCTION.FON_LIB ASC");
     
    			echo '<h4 align="center" style="color:green;">Liste fonction(s) pouvant &ecirc;tre exerc&eacute;e(s) par '.$toto.'</h4>';
    			echo '<ul>';
     
    			while ($donnees = mysql_fetch_array($reponse)) {
     
    				$val = $donnees['Libelle_de_la_fonction'];
    				echo '<li><a href="#" onClick="recupInfos(\''.$val=addslashes($val).'\')">'.$donnees['Libelle_de_la_fonction'].'</a></li>';	
     
    			}
    			echo "</ul>";
     
     
    	   } 
    	   mysql_close();
    	   ?>
    Le titre affiche bien la valeur de $toto, mais ma requête Sql ne retourne rien alors que je suis sûr de ma syntaxe et que je l'ai testée avec mysql query browser. De plus, j'ai fait un gettype et ma variable est bien de type string.... JE suis vraiment sans solution.
    Merci d'avance.

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    572
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Juin 2005
    Messages : 572
    Points : 716
    Points
    716
    Par défaut
    Bonjour,

    Dans ta requête, tu donnes pour alias Libellé de la fonction alors que dans ton traitement, tu fais appel au champs Libelle_de_la_fonction.

    Il est possible que le problème vienne de la.
    Tout pas mieux que tout le monde : évitez les questions techniques en mp sinon à quoi bon poster sur un forum ?

    Petite citation : "Le sage cherche la vérité, l'imbécile l'a déjà trouvée"

  3. #3
    Membre chevronné Avatar de Er3van
    Homme Profil pro
    Architecte Logiciel
    Inscrit en
    Avril 2008
    Messages
    1 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte Logiciel
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2008
    Messages : 1 430
    Points : 2 227
    Points
    2 227
    Par défaut
    Evite les accents et espaces en SQL, et limite tes variables à une certaines tailles.
    C'est d'ailleurs très pratique d'utiliser la lange de Shakespeare pour les variables, pas d'accents, mots plus courts généralement.

    "funct_wording" ou "lib_fonction" sont des noms de variables explicites et plus simples à manier.
    One minute was enough, Tyler said, a person had to work hard for it, but a minute of perfection was worth the effort. A moment was the most you could ever expect from perfection.

    -- Chuck Palahniuk, Fight Club, Chapter 3 --

  4. #4
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 80
    Points : 48
    Points
    48
    Par défaut
    Merci pour vos réponses mais le problème ne vient pas de Libelle_fonction !J'avais fait copier coller du mauvais code ...
    IL y a une mauvaise interprétation ... car si je fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $temp = strtoupper($toto); et echo $temp ;
    j'ai rien du tout ...
    Je suis vraiment perdu ...

Discussions similaires

  1. Syntaxe Variable de session dans requête SQL
    Par dekalima dans le forum Langage
    Réponses: 1
    Dernier message: 07/01/2011, 11h35
  2. [MySQL] Syntaxe dans requête SQL
    Par Zhebulon dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 04/06/2009, 09h37
  3. Problème de syntaxe dans requête SQL
    Par soprano6217 dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 03/06/2009, 15h49
  4. Syntaxe "DateDifférence" dans requête sql
    Par Yusmar dans le forum WebDev
    Réponses: 0
    Dernier message: 09/02/2009, 19h00
  5. ASP et valeur NULL dans requêtes SQL
    Par chuck_m dans le forum ASP
    Réponses: 7
    Dernier message: 13/08/2004, 11h15

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