JeuWeb - Crée ton jeu par navigateur
(Résolu)compter dans la bdd - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : (Résolu)compter dans la bdd (/showthread.php?tid=580)



(Résolu)compter dans la bdd - simonhibou89 - 27-12-2006

Voila j'ai une bdd ou chaque ligne comprend un nombre pour la valeur perte et je voulais savoir  si il existe une requete sql pour compter directement?


RE: compter dans la bdd - Loetheri - 27-12-2006

Gné ? Tu veux additioner toutes les valeurs d'un champs ?
Tu parles de ceci ?
Code :
SELECT SUM(champ) FROM table WHERE



RE: compter dans la bdd - simonhibou89 - 27-12-2006

Par exemple j'ai dans ma base a la première ligne 16 a la deuxième 24 et à la troisième 30 et je voudrais une requete qui me donne comme réponse 70.


RE: compter dans la bdd - Loetheri - 27-12-2006

Utilise ce que je t'ai donné. Cela devrait fonctionner.


RE: compter dans la bdd - simonhibou89 - 28-12-2006

et j'utilise quoi comme variable?


RE: compter dans la bdd - Loetheri - 28-12-2006

Gné ?
Euh ... je ne connais pas tes tables ni ce que tu veux faire exactement.
Si tu veux tout additionner, ne mets pas de "WHERE".


RE: compter dans la bdd - simonhibou89 - 29-12-2006

SELECT SUM(champ) FROM table WHERE
Donc un code du style:
Code PHP :
<?php 
$query
= SELECT SUM(champ) FROM table
$donnees
= mysql_fetch_array($query)
echo
''.$donnees.'';



RE: compter dans la bdd - Roworll - 29-12-2006

Tu dois utiliser un alias pour le résultat ou alors utiliser l'index de la colonne dans le résultat.

Premier exemple en utilisant un Alias et en récupérant la valeur du champ par le biais de son nom avec mysql_fetch_assoc() ou mysql_fetch_array()
Code PHP :
<?php 
//Méthode 1
$sql='SELECT SUM(champ) AS total FROM table';
$rs=mysql_query($sql);
$ligne=mysql_fetch_assoc($rs);
echo
$ligne['total'];

Deuxième exemple sans utiliser d'Alias mais en récupérant directement le contenu de la colonne 0 (celle ou se trouve le résultat) avec mysql_fetch_row().
Code PHP :
<?php 
//Méthode 2
$sql='SELECT SUM(champ) FROM table';
$rs=mysql_query($sql);
$ligne=mysql_fetch_row($rs);
echo
$ligne[0];

a noter que personnellement je préfère utiliser mysql_fetch_assoc() ou mysql_fetch_row() plutôt que mysql_fetch_array() qui est un poil plus lourd.

mysql_fetch_assoc() renvoie un tableau associatif ou chaque colonne est nommée en fonction du champ ou de l'alias qui lui correspond.

mysql_fetch_row() renvoie un tableau avec les indices des champs. Le premier à l'index 0, le 2e l'index 1, etc. Attention si on insère des champs dans la requête d'origine, il faudra revérifier les index qui utilisent le résultat.

mysql_fetch_array() renvoie les deux (le tableau d'index ET le tableau associatif). C'est plus simple mais plus lourd pour PhP.


RE: compter dans la bdd - simonhibou89 - 30-12-2006

ok merci pour votre aide