Flux rss
Rechercher : dans
Par : Mots clés Nom d'utilisateur
Messages sans réponse

Compter les points dans un tableau en PHP/SQL

sweetmemories, le dimanche 17 décembre 2006 à 14:24:55 
 Signaler ce message aux modérateurs

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.

Configuration: Windows XP
Firefox 2.0

1

Ssylvainsab, le dimanche 17 décembre 2006 à 14:29:40

Salut.

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 ? Sylvain
Longue vie à bobo !

Répondre à Ssylvainsab

2

sweetmemories, le dimanche 17 décembre 2006 à 15:13:51

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

Répondre à sweetmemories

3

Architect, le lundi 18 décembre 2006 à 06:57:48

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.

@+

Répondre à Architect

4

sweetmemories, le lundi 18 décembre 2006 à 07:21:33

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.

Répondre à sweetmemories

5

Scorpio, le lundi 18 décembre 2006 à 10:07:05

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"];
}
}

Répondre à Scorpio

6

Scorpio, le lundi 18 décembre 2006 à 10:08:47

Attention au format de date...
dans ton cas ca sera 2006-12-18 je crois...

Répondre à Scorpio

7

sweetmemories, le lundi 18 décembre 2006 à 10:16:33

Bonjour.
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.

Répondre à sweetmemories

8

Ohm-WorK, le lundi 18 décembre 2006 à 17:11:50

Salut

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 La vie est une maladie mortelle, sexuellement transmissible ­(Woody Allen)

Répondre à Ohm-WorK

9

sweetmemories, le lundi 18 décembre 2006 à 17:19:14

Bonsoir.
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

Répondre à sweetmemories

10

Ohm-WorK, le lundi 18 décembre 2006 à 17:37:26

Re,

Tu veux donc une requète qui totalisent le nombre de point de chaque joueur par date, il te suffit de le demander à ta base de données :

SELECT SUM(points)as point,joueur FROM tournois WHERE AND date='18/12/06' GROUP BY joueur;

En php, celà te donne :

<?

$req = mysql_query("SELECT SUM(points) as point,joueur FROM tournois WHERE AND date='18/12/06' GROUP BY joueur");
While($reponse=mysql_fetch_array($req))
echo 'Nom : '.$reponse['joueur'].' : '.$r['joueur'].' point(s)<br>';
?>

Ca devrait faire l'affaire :)

Tchuss La vie est une maladie mortelle, sexuellement transmissible (Woody Allen)

Répondre à Ohm-WorK

11

sweetmemories, le lundi 18 décembre 2006 à 17:45:03

Merci je vais essayer.
Ensuite comment le mettre en tableau?
Bon j'essaie avant d'en demander plus et je vous tient informé.
Merci à tous.

Répondre à sweetmemories

12

Ohm-WorK, le lundi 18 décembre 2006 à 17:49:15

Salut

T'a déjà fait du développement php/mysql ?

Pour le mettre en tableau, c'est de l'html, je te laisse chercher un peu, sinon c'est pas marrant !

C'est en galérant qu'on apprend, quand tu trouve par toi meme, après avoir perdu 75 % de ton cuir chevelu, après, tu t'en souviens !! La vie est une maladie mortelle, sexuellement transmissible ­(Woody Allen)

Répondre à Ohm-WorK

13

sweetmemories, le lundi 18 décembre 2006 à 17:51:21

Trés bien, celà à l'air de fonctionner mais j'ai enlevé qq erreurs sur ta formule :

$req = mysql_query("SELECT SUM(points) as points,joueur FROM tournois WHERE date=$date GROUP BY joueur");

while($reponse = mysql_fetch_array($req2))
{
echo $reponse['joueur'].' : '.$reponse['points'].'<br>';
}

En tous cas tu as bien répondu à mon attente, merci pour ton aide

Répondre à sweetmemories

14

sweetmemories, le lundi 18 décembre 2006 à 18:21:34

Autre question a présent.
Puisque cela fonctionne, puis je ajouter la somme de jetons a mes additions ?
Merci

Répondre à sweetmemories

15

Ohm-WorK, le lundi 18 décembre 2006 à 18:53:44

Re

Oui, SELECT SUM(points) as points, SUM(jetons) as jetons, joueur FROM tournois WHERE date=$date GROUP BY joueur
La vie est une maladie mortelle, sexuellement transmissible ­(Woody Allen)

Répondre à Ohm-WorK

16

 sweetmemories, le jeudi 21 décembre 2006 à 16:48:18

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.

Répondre à sweetmemories
Rangement de resultats SQL ds tableau PHP Bonjour, Je cherche à ranger les resultats d'une requete SQL ds un vrai tableau, que je puisse accéder à la donnée de chaque case par $tableau[i] Pour l'instant, le code que je fais est le basik : while ($row=mysql_fetch_array($query)){ echo... www.commentcamarche.net/forum/affich-2396139-rangement-de-resultats-sql-ds-tableau-php
[PHP/SQL] Supprimer des champs dans 1 tableau Bonjour à ceux qui me liront J'ai débuté PHP il y a quelques semaines et je tente désormais dans une page d'admin d'afficher un tableaux avec toutes les valeurs d'une table, et d'avoir ensuite la possibilité de supprimer l'enregistrement de la table.... www.commentcamarche.net/forum/affich-2272499-php-sql-supprimer-des-champs-dans-1-tableau
[PHP] Table SQL dans un tableau bonjour j'ai une table avec 3 champs Nom, Prénom, Age j'aimerai mettre les données de la table dans un tableau (array) j'arrive a me connecter a la base sans probleme mais comment mettre les infos dans un tableau en fait ce que je veux faire c... www.commentcamarche.net/forum/affich-2285290-php-table-sql-dans-un-tableau
Tableau PHP en parametre fonction Javascript (Résolu)Bonjour, jeune webmaster d'un site ecrit en Php/MySql, je souhaite agrémenter le site d'un menu en javascript que je ve renseigner via une requete sur la base MySql. Seule problème le passage des deux variables ( tableau de chaine pour les deux ) dans... www.commentcamarche.net/forum/affich-2784685-tableau-php-en-parametre-fonction-javascript
Petit bug dans compte à rebours php (Résolu)Bonjour, Voilà, j'ai fait un petit souci dans un compte à rebours php. Tant que l'heure limite n'est pas atteinte, le compte à rebours marche impec. Dès que l'heure fixée est atteinte au lieu de m'écrire "Temps écoulé" comme je le voulais, il m'écrit... www.commentcamarche.net/forum/affich-8235731-petit-bug-dans-compte-a-rebours-php