Souci de syntaxe sql

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Souci de syntaxe sql

Re: Souci de syntaxe sql

par zeus » 31 janv. 2010, 23:49

Fait afficher ta requête générée pour voir si elle est vraiment identique à la requête de base.

Re: Souci de syntaxe sql

par zeus » 31 janv. 2010, 23:46

Modération :
Afin d'améliorer la lisibilité de ton message,
pense à utiliser les balises [code] ou [php] (selon le langage utilisé).

Elles sont disponibles au-dessus de la zone de saisie de ton message
lorsque tu postes un nouveau message.

Des indications sont disponibles sur la manière de mettre en forme vos messages dans la FAQ

Souci de syntaxe sql

par Ayrton [ASC] » 31 janv. 2010, 20:13

Bonsoir à tous,

Je rencontre un petit souci se syntaxr pour requête sql ; voilà mon souci :
Soit une Table jos_collosus_ticket contenant plusieurs champs dont :
1 champ Date nommé dateemission
1 champ Date nommé datecloture
1champ INT(11) nommé iddomaine qui ne peut contenir que 3 valeur ( 1,2,3 )
1champ INT(11) idticket.

Il y a bien sûr d'autres champs de type TEXT dans cette base qui contiennent divers renseignements.
Mon problème est le suivant : Je dois trouver l'age maxi des tickets pour les iddomaine 1, 2 et 3 .
Dans mon php, je fais ceci :
function GetTempsMAXParDomaine(){
$requete = "SELECT Max(TO_DAYS(`datecloture`)-TO_DAYS(`dateemission`))As Delai_Maxi from jos_collosus_ticket WHERE iddomaine=2";
$req = mysql_query($requete);
$result = mysql_fetch_array($req);
return ($result[0]);
}
J'appelle cette fonction depuis un autre ficher er ça fonctionne très bien ; le problème est que je suis obligé de la faire 3 fois ( pour les iddomaine1 ,2 et 3 ):

J'ai donc essayé cela :
function GetTempsMaxParDomaine($iddomaine){
$requete  ="SELECT MAX(TO_DAYS(`datecloture`)-TO_DAYS(`dateemission`)) As Delai_Maxi from jos_collosus_ticket WHERE iddomaine=$iddomaine";
$req = mysql_query($requete);
$result = mysql_fetch_array($req);
return ($result[0]);
}
Et là, le résultat est faux ! ; j'ai comparé sur l'iddomaine 1 de ma requête précédente et je n'ai pas le même résultat.
Donc je pense que cette requête avec le pareamètres n'est pas correcte ; le souci est qu'étant débutant, je ne vois pas ce qui n'est pas bien dans cette requête.
Si un oeil averti pouvait m'éclairter, ce serait genial car là je suis coincé.

Un grand merci d'avance à vous tous.

Cordialement

Ayrton