Compter les points dans un tableau en PHP/SQL
Résolu
Bonjour à tous.
J'aimerai faire le compte des points attribués a chaque joueur (10 pour le moment) qui sont entrés dans un tableau (MySQL).
Je n'y arrive pas en PHP.
Merci de me venir en aide si vous avez une idee ou un exemple concret.
A bientot.
J'aimerai faire le compte des points attribués a chaque joueur (10 pour le moment) qui sont entrés dans un tableau (MySQL).
Je n'y arrive pas en PHP.
Merci de me venir en aide si vous avez une idee ou un exemple concret.
A bientot.
Configuration: Windows XP Firefox 2.0
6 réponses
-
Bonjour a tous.
Voici la structure de la table :
--
-- Structure de la table `tournois`
--
CREATE TABLE `tournois` (
`id` tinyint(50) NOT NULL auto_increment,
`date` date NOT NULL default '0000-00-00',
`joueur` varchar(15) collate latin1_general_ci NOT NULL default '',
`partie` varchar(5) collate latin1_general_ci NOT NULL default '',
`recave` varchar(5) collate latin1_general_ci NOT NULL default '',
`jetons` varchar(5) collate latin1_general_ci NOT NULL default '',
`classement` varchar(5) collate latin1_general_ci NOT NULL default '',
`points` varchar(5) collate latin1_general_ci NOT NULL default '',
`divers` varchar(100) collate latin1_general_ci NOT NULL default '',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=31 ;
Je veux donc compter les points suivant les joueur et la date.
Merci pour votre aide.-
Bonjour
Le principe est de lancer ta requete
select points from tournois where joueur="toto" and date="18/12/06"
Ensuite tu crées une boucle qui va pour chaque champs, additionner tes points.
SI tu ne maitrises pas le php, et que ta base est une base mysql, le code ressemblera à ca :
$db=mysql_connect('localhost','user','password') or die('Impossible de se connecter'); // Connection à la base mysql_select_db('nomde la base',$db); $req="SELECT points FROM tournois WHERE joueur='toto' AND date='18/12/06'"; $res=mysql_query($req) or die ("Echec de la requete"); $nbenreg=mysql_num_rows($res); $totalpoints=0; if($nbenreg !=0){ //boucle tant qu'il y a des résultats while($row =mysql_fetch_array($res)){ $totalpoints=$totalpoints+$row["points"]; } } -
@ScorpioAttention au format de date...
dans ton cas ca sera 2006-12-18 je crois... -
@ScorpioBonjour.
Alors la date sera en effet 2006-12-18 par exemple...
Tout cela fonctionne, j'arrive bien a voir mes joueurs dans mon tableau avec leur score pour chaque partie mais ce que je veux c'est additionner les scores de chacun d'entre eux... et cela utomatiquement (que php aille dans la base chercher le nom de chque joueur, qui comptabilise leur score).
J'espere etre assez clair, pas evident lol
Merci en tous cas pour votre aide. -
Contributeur@ScorpioSalut
Si j'ai bien compris ta demande, c ca qu'il te faut :
SELECT SUM(points) FROM tournois WHERE joueur='toto' AND date='18/12/06'
comme requète SQL...
tchuss -
@ScorpioBonsoir.
Pour la date ca va car j'ai une variable qui vient de la page precedente et qui selectionne la date voulue ($date)
Mais comment faire pour additionner tous les joueurs en meme temps (chacun son scrore...)?
Merci
-
-
Salut et merci.
Non, les points sont a additionner car sur plusieurs lignes...
par exemple en ce moment j'ai 4 lignes de points a additionner par joueur et 7 joueurs...
Merci -
Salut, pour que l'on puisse t'aider il faut absolument que tu nous dise comment est fait ta base de donnée pour que l'on puisse t'aider à écrire la source en PHP.
@+ -
ContributeurRe
Oui, SELECT SUM(points) as points, SUM(jetons) as jetons, joueur FROM tournois WHERE date=$date GROUP BY joueur
-
Merci à tous pour votre aide car grace à vos scripts j'ai réussi à faire mes comptes :-)
Bonnes fêtes de fin d'année à vous tous. -
ModérateurSalut.
Si le nombre de points est directement dans la base, il suffit de faire une requête, puis d'afficher l'entrée "points", non ?