Pouquoi ma requete ne fonctionne pas?
Dernière réponse : dans Programmation
Bonjour.
J'éssaye de selectionner dans un tableau les 5 membres ayant le plus de pièces d'or a un jeu, mais la requete ci-dessous ne fontionne pas ?
Pouvez-vous me dire pourquoi s'il vous plait?
$date1=RemakeDate(-0);
$date2=RemakeDate(-1);
$regHistoGain = "SELECT * FROM log_concours_pieces_or where date='$date2' and nomJeux>='$ticket_concours_pieces_or' and SUN (nbPieces_or)<>0 ORDER BY SUN (nbPieces_or) DESC, id LIMIT 0,5";
J'ai éssayé plusieurs requetes mais là...
J'éssaye de selectionner dans un tableau les 5 membres ayant le plus de pièces d'or a un jeu, mais la requete ci-dessous ne fontionne pas ?
Pouvez-vous me dire pourquoi s'il vous plait?
$date1=RemakeDate(-0);
$date2=RemakeDate(-1);
$regHistoGain = "SELECT * FROM log_concours_pieces_or where date='$date2' and nomJeux>='$ticket_concours_pieces_or' and SUN (nbPieces_or)<>0 ORDER BY SUN (nbPieces_or) DESC, id LIMIT 0,5";
J'ai éssayé plusieurs requetes mais là...
Autres pages sur : pouquoi requete fonctionne
Lassé par la pub ? Créez un compte
Bon tampis pour ce soir enfin cette nuit, j'ai attendu, personne n'est venu a mon secours erfffffffffffffff.
Merci pour les connaisseurs de mysql, j'ai pas mal de mal en ce moment pour mon site et je désespère car je ne vois pas beaucoup d'aide sur ce forum, j'ai l'impression de perdre mon temp.
A demain et bonne nuit a ceux qui ne sont pas encore couchés.
Merci pour les connaisseurs de mysql, j'ai pas mal de mal en ce moment pour mon site et je désespère car je ne vois pas beaucoup d'aide sur ce forum, j'ai l'impression de perdre mon temp.
A demain et bonne nuit a ceux qui ne sont pas encore couchés.
Bonjour.
Merci pour vos réponses mais j'ai mis ça:
$date1=RemakeDate(-0);
$date2=RemakeDate(-1);
$regHistoGain = "SELECT * FROM log_concours_pieces_or where date='$date2' and nomJeux>='$ticket_concours_pieces_or' and SUM (nbPieces_or)<>0 ORDER BY SUM (nbPieces_or) DESC, id LIMIT 0,5";
$exec = mysql_query ($regHistoGain) or die(mysql_error());
Et j'ai toujours ça en erreur:
FUNCTION monsite.SUM does not exist
Merci pour vos réponses mais j'ai mis ça:
$date1=RemakeDate(-0);
$date2=RemakeDate(-1);
$regHistoGain = "SELECT * FROM log_concours_pieces_or where date='$date2' and nomJeux>='$ticket_concours_pieces_or' and SUM (nbPieces_or)<>0 ORDER BY SUM (nbPieces_or) DESC, id LIMIT 0,5";
$exec = mysql_query ($regHistoGain) or die(mysql_error());
Et j'ai toujours ça en erreur:
FUNCTION monsite.SUM does not exist
En faite, si je retire le SUM (), le tableau m'affiche les 5 joueurs qui ont fait le plus gros score au jeu des pièces d'or la veille.
Moi je cherche a ce que ma requete donne les 5 joueurs qui ont fait le plus gros total des pièces d'or la veille.
Donc c'est pour ça que j'ai mis SUM(), pour qu'elle calcule le total des pièces d'or gagné la veille par membre.
Moi je cherche a ce que ma requete donne les 5 joueurs qui ont fait le plus gros total des pièces d'or la veille.
Donc c'est pour ça que j'ai mis SUM(), pour qu'elle calcule le total des pièces d'or gagné la veille par membre.
Grrrrrrrrrr.
Je suis nul, j'ai fais ça et ça ne fonctionne pas:
$regHistoGain = "SELECT SUM(nb_pieces_or), joueur.id_joueur, joueur.nom_joueur FROM log_concours_pieces_or
INNER JOIN joueurs ON log_concours_pieces_or.id_joueur = joueur.id_joueur
WHERE [date='$date2' and nomJeux>='$ticket_concours_pieces_or']
GROUP BY id_joueur, nom_joueur. ";
Le message d'erreur est:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '[date='2010-03-11' and nomJeux>=''] GROUP BY id_joueur, nom_joueur.' at line 4
Je présume que c'est a cause de ce que j'ai mis dans la clause WHERE? Pourquoi?
Merci pour vos réponse, en même temp j'apprends mes erreurs
Je suis nul, j'ai fais ça et ça ne fonctionne pas:
$regHistoGain = "SELECT SUM(nb_pieces_or), joueur.id_joueur, joueur.nom_joueur FROM log_concours_pieces_or
INNER JOIN joueurs ON log_concours_pieces_or.id_joueur = joueur.id_joueur
WHERE [date='$date2' and nomJeux>='$ticket_concours_pieces_or']
GROUP BY id_joueur, nom_joueur. ";
Le message d'erreur est:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '[date='2010-03-11' and nomJeux>=''] GROUP BY id_joueur, nom_joueur.' at line 4
Je présume que c'est a cause de ce que j'ai mis dans la clause WHERE? Pourquoi?
Merci pour vos réponse, en même temp j'apprends mes erreurs
il n'y aurai pas une requete plus simple? Car je suis perdu, je fais n'importe quoi car je ne comprends rien a la requete.
Voici ce que j'ai fais:
$regHistoGain = "SELECT SUM(nbPieces_or), info_membres.id, info_membres.username FROM log_concours_pieces_or
INNER JOIN info_membres ON log_concours_pieces_or.id = info_membres.id
WHERE date='$date2' and nomJeux>='$ticket_concours_pieces_or'
GROUP BY id, username. ";
Il y a une table infos-membres, mais aussi une table log_concours_pieces_or donc ne serait-il pas plus simple de faire la requete uniqmement en prenant les infos de la table log_concours_pieces_or ?
J'aimerai selectionner les 5 joueurs qui ont cumulé le plus de pièces d'or la veille.
J'ai ce message d'erreur en mettant la requete au-dessus:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 4
Voici ce que j'ai fais:
$regHistoGain = "SELECT SUM(nbPieces_or), info_membres.id, info_membres.username FROM log_concours_pieces_or
INNER JOIN info_membres ON log_concours_pieces_or.id = info_membres.id
WHERE date='$date2' and nomJeux>='$ticket_concours_pieces_or'
GROUP BY id, username. ";
Il y a une table infos-membres, mais aussi une table log_concours_pieces_or donc ne serait-il pas plus simple de faire la requete uniqmement en prenant les infos de la table log_concours_pieces_or ?
J'aimerai selectionner les 5 joueurs qui ont cumulé le plus de pièces d'or la veille.
J'ai ce message d'erreur en mettant la requete au-dessus:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 4
Voilà ce sera plus simple, voici la structure de ma table:
CREATE TABLE IF NOT EXISTS `log_concours_pieces_or` (
`id` int(11) NOT NULL auto_increment,
`username` varchar(20) NOT NULL default '',
`date` date NOT NULL default '0000-00-00',
`heure` time NOT NULL default '00:00:00',
`nomJeux` varchar(50) NOT NULL default '',
`IP` varchar(15) NOT NULL default '',
`nbPieces_or` int(11) NOT NULL default '0',
PRIMARY KEY (`id`),
KEY `username` (`username`),
KEY `date` (`nomJeux`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1390 ;
CREATE TABLE IF NOT EXISTS `log_concours_pieces_or` (
`id` int(11) NOT NULL auto_increment,
`username` varchar(20) NOT NULL default '',
`date` date NOT NULL default '0000-00-00',
`heure` time NOT NULL default '00:00:00',
`nomJeux` varchar(50) NOT NULL default '',
`IP` varchar(15) NOT NULL default '',
`nbPieces_or` int(11) NOT NULL default '0',
PRIMARY KEY (`id`),
KEY `username` (`username`),
KEY `date` (`nomJeux`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1390 ;
nomJeux>='$ticket_concours_pieces_or'
Une variable dans un champ texte c'est pas vraiment possible...
Et > pour un champ texte pas possible non plus.
Dans ta requête, ça veut dire quoi concrétement ?
Tu peux mettre = ou LIKE pour dire est égal à, ressemble à...
Ensuite pour sélectionner les 5 meilleurs, on admet qu'il peuvent jouer plusieurs fois par jour ?
Donc faire la SOMME avec SUM, un ORDER BY DESC et un LIMIT 0,5 pour les sélectionner, c'est bien ça ?
Une variable dans un champ texte c'est pas vraiment possible...
Et > pour un champ texte pas possible non plus.
Dans ta requête, ça veut dire quoi concrétement ?
Tu peux mettre = ou LIKE pour dire est égal à, ressemble à...
Ensuite pour sélectionner les 5 meilleurs, on admet qu'il peuvent jouer plusieurs fois par jour ?
Donc faire la SOMME avec SUM, un ORDER BY DESC et un LIMIT 0,5 pour les sélectionner, c'est bien ça ?
Oui c'est bien ça simdu80.
Les joueurs ont plusieurs tickets_concours_pieces_or, qu'ils doivent gratter et de là, ils decouvrent le gain.
Donc je veux selectionner le total des gains de la veille et faire du plus gros au plus petits gains total de la veille.
Pour que dans le tableau, resorte les 5 meilleurs joueurs de la veille.
Les joueurs ont plusieurs tickets_concours_pieces_or, qu'ils doivent gratter et de là, ils decouvrent le gain.
Donc je veux selectionner le total des gains de la veille et faire du plus gros au plus petits gains total de la veille.
Pour que dans le tableau, resorte les 5 meilleurs joueurs de la veille.
ok !
$datehier = ;
$regHistoGain='SELECT SUM(nbPieces_or), id,username FROM log_concours_pieces_or
WHERE date='.$datehier.' and nomJeux="ticket_concours_pieces_or"
ORDER BY SUM(nbPieces_or)
GROUP BY id, username
LIMIT 0,5;'
Teste ceci et dit moi les erreur s'il y en a, et aussi, n'oublie pas de changer la date pour mettre celle d'hier. Une variable en PHP pour l'affecter
$datehier = ;
$regHistoGain='SELECT SUM(nbPieces_or), id,username FROM log_concours_pieces_or
WHERE date='.$datehier.' and nomJeux="ticket_concours_pieces_or"
ORDER BY SUM(nbPieces_or)
GROUP BY id, username
LIMIT 0,5;'
Teste ceci et dit moi les erreur s'il y en a, et aussi, n'oublie pas de changer la date pour mettre celle d'hier. Une variable en PHP pour l'affecter
Donc j'ai mis ceci:
$regHistoGain = "SELECT SUM(nbPieces_or), id,username FROM log_concours_pieces_or
WHERE date='.$date2.' and nomJeux='ticket_concours_pieces_or'
ORDER BY SUM(nbPieces_or)
GROUP BY id, username
LIMIT 0,5";
Et toujours un message d'erreur:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'GROUP BY id, username LIMIT 0,5' at line 4
$regHistoGain = "SELECT SUM(nbPieces_or), id,username FROM log_concours_pieces_or
WHERE date='.$date2.' and nomJeux='ticket_concours_pieces_or'
ORDER BY SUM(nbPieces_or)
GROUP BY id, username
LIMIT 0,5";
Et toujours un message d'erreur:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'GROUP BY id, username LIMIT 0,5' at line 4
Donc j'ai fais ça, il n'y a plus de message d'erreur, mais plus non plus, de liste des membres d'hier.
Le tableau reste blanc, et pas de message d'erreur donc ça avance super.
$regHistoGain = "SELECT SUM(nbPieces_or), id,username FROM log_concours_pieces_or
WHERE date='.$date2.' and nomJeux='ticket_concours_pieces_or'
ORDER BY SUM(nbPieces_or)";
//GROUP BY id, username
//LIMIT 0,5";
Le tableau reste blanc, et pas de message d'erreur donc ça avance super.
$regHistoGain = "SELECT SUM(nbPieces_or), id,username FROM log_concours_pieces_or
WHERE date='.$date2.' and nomJeux='ticket_concours_pieces_or'
ORDER BY SUM(nbPieces_or)";
//GROUP BY id, username
//LIMIT 0,5";
Oui on avance !
ça veut dire que t'as un soucis dans ton where.
fait un echo $date2 pour voir ce que ça retourne, et regarde si c'est bien ça dans ta BdD... ça doit être au format 0000-00-00...
Si c'est au bon format, test en enlevant le SUM() en laissant juste nbPieces_or.
On va y arriver
C'est dur sans pouvoir faire des test ^^'
Courrage
ça veut dire que t'as un soucis dans ton where.
fait un echo $date2 pour voir ce que ça retourne, et regarde si c'est bien ça dans ta BdD... ça doit être au format 0000-00-00...
Si c'est au bon format, test en enlevant le SUM() en laissant juste nbPieces_or.
On va y arriver
C'est dur sans pouvoir faire des test ^^'
Courrage
Donc si je mets ça, le tableau n'affiche rien du tout et pas d'erreur :
$regHistoGain = "SELECT nbPieces_or, id,username FROM log_concours_pieces_or
WHERE date='.$date2.' and nomJeux='ticket_concours_pieces_or'
ORDER BY nbPieces_or";
//GROUP BY id, username
//LIMIT 0,5";
En revanche, si je mets ça (en retirant les . dans date, le tableau affiche la liste de touts les resultats gains et des pseudos des membres ayant gagné, par ordre du plus petit au plus grand, mais je n'ai pas les dates ni le nom du jeu dans le tavbleau
$regHistoGain = "SELECT nbPieces_or, id,username FROM log_concours_pieces_or
WHERE date='$date2' and nomJeux='ticket_concours_pieces_or'
ORDER BY nbPieces_or";
$regHistoGain = "SELECT nbPieces_or, id,username FROM log_concours_pieces_or
WHERE date='.$date2.' and nomJeux='ticket_concours_pieces_or'
ORDER BY nbPieces_or";
//GROUP BY id, username
//LIMIT 0,5";
En revanche, si je mets ça (en retirant les . dans date, le tableau affiche la liste de touts les resultats gains et des pseudos des membres ayant gagné, par ordre du plus petit au plus grand, mais je n'ai pas les dates ni le nom du jeu dans le tavbleau
$regHistoGain = "SELECT nbPieces_or, id,username FROM log_concours_pieces_or
WHERE date='$date2' and nomJeux='ticket_concours_pieces_or'
ORDER BY nbPieces_or";
Lassé par la pub ? Créez un compte
- Contenus similaires :
Tags :
- ForumAccess requete ajout ne fonctionne pas
- solutionsPhp requete update qui ne fonctionne pas
- ForumPouquoi mon ipod nano pomme
- ForumRequete sql php dans uen fonction
- ForumAccess requete sql avec fonction month
- ForumFonction max access requete
- ForumPouquoi mon texte est en lecture seule
- solutionsFonction php requete sql
- ForumPouquoi attraper dialga
- ForumAccess fonction de module vba dans requete
- Voir plus