Sql syntax error ?

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 : Sql syntax error ?

par Invité » 27 janv. 2007, 23:11

ah oui mais non :lol:

je veut juste afficher la position du client dans le classement par rapport a son nombre de commande du style :
if ($acfr+1==1) {  
   echo "<div align='center'>1 ere position"; 
}
?>
pour le premier !

et pour les autres : <php echo $acfr+1 ?> position !

par Ajoloca » 27 janv. 2007, 23:05

Re,

La requête en l'état elle te donne le nombre de commandes de tous les membres.

Si tu ne veux que le premier, mets la clause LIMIT 0, 1 à la fin de la requête.

Cette porte était restée volontairement ouverte, je ne savais pas si par exemple tu voulais faire QQ chose du style "Voici le podium des consommateurs", dans ce cas tu mettrais LIMIT 0, 3. ect....

par Invité » 27 janv. 2007, 22:59

:lol:

euh..ca calcul pas celui qui a le plus de commande de celui qui en a le moins ?
<?php
$rv = mysql_query("SELECT pseudo, COUNT(com) FROM membres GROUP BY pseudo;") or die ('Erreur 12 : '.mysql_error());
$aqd = mysql_fetch_array($rv);
$acfr = $aqd['COUNT(com)'];  
if ($acfr+1==1) {  
   echo "<div align='center'>Vous êtes actuellement le plus gros consommateur";
 } 
?>
et ca ne calcul pas,car avec mes tests,si il est premier,l'echo ci dessus devrait s'afficher :(

par Ajoloca » 27 janv. 2007, 22:51

:wink:

tu est un dieu dit moi 8-)

en tout cas,un grand merci a toi :D
Tu veux que Zeus me tue en pensant que j'usurpe sa place? :lol:

par Invité » 27 janv. 2007, 22:49

:wink:

tu est un dieu dit moi 8-)

en tout cas,un grand merci a toi :D

par Ajoloca » 27 janv. 2007, 22:43

Re,

Regarde si c'est ça que tu veux
SELECT pseudo, COUNT(com) FROM membres GROUP BY pseudo;

par Invité » 27 janv. 2007, 22:39

Voilà,

mais je l'ai déja le classement,le truc c'est qu'il ne fonctionne plus a cause d'une version non adapté de mysql !

par Ajoloca » 27 janv. 2007, 22:38

Re,

En réalité tu veux un classement des membres en fonction du nombre de commandes, c'est ça?

par Invité » 27 janv. 2007, 22:31

C'est un code pour un classement !

Par exemple,le membre passe 10 commandes,c'est lui qui en a le plus,donc,il est premier dans la position !

par contre,la structure de la table ne servira pas a grand chose puisque je me base sur les "com" pour le classement !

sur le manuel de référence mysql,j'ai vu que l'on pouvait réecrire ce code sans effectuer de sous requetes , par exemple :

Code avec sous requete :

SELECT * FROM t1 WHERE id IN (SELECT id FROM t2);

le meme code mais sans sous requete :

SELECT t1.* FROM t1,t2 WHERE t1.id=t2.id;

et donc mon code avec sous requete :
SELECT COUNT(*) FROM membres WHERE com >(SELECT com FROM membres WHERE pseudo='$pseudo')
voilà,il faut donc refaire ce code mais sans sous requete comme dans l'exemple un peu plus haut. Le hic,je comprend pas !

par Ajoloca » 27 janv. 2007, 22:18

Re,

Dis-nous ce que tu cherches à faire et la structure de ta table.

par Invité » 27 janv. 2007, 22:03

Aie !

j'ai regarder un peu ca et effectivement, voilà mon problème :(

J'ai vu que je pouvait me passer des sous-requetes pour mon code mais comment faire car je comprend pas grand chose !

par Ajoloca » 27 janv. 2007, 21:59

Re,

Donc ne sois pas étonné, les requêtes imbriquées sont supportées à partir de la version 4.1 comme tu peu le constater ICI

par Invité » 27 janv. 2007, 21:56

mysql 4.0.16 et Php My Admin 2.6.2 !

je pense que le problème vient de là mais comment y remédier ?

par Ajoloca » 27 janv. 2007, 21:51

Re,

Sous quelle version de MySQL tu exécutes ce code ?

par Invité » 27 janv. 2007, 21:49

Re,
Je reste persuadé que cette erreur ne corresponds pas à ce code.

Dans le message (au début) je devrais voir 'Erreur 12 : ', non :?: :?: :?:
Si je me fie à ça
or die ('Erreur 12 : '.mysql_error());
j'ai juste retirer le Erreur 12 !!!! sinon,cette erreur correspond bien a ce script !

Ensuite,non,je n'utilise pas d'includes pour ce script !

Il fonctionnait très bien sur un autre hébergeur !