JeuWeb - Crée ton jeu par navigateur
Compter le nombre de sortie de 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 : Compter le nombre de sortie de la bdd (/showthread.php?tid=120)

Pages : 1 2


Compter le nombre de sortie de la bdd - simonhibou89 - 29-08-2006

Bon voila suposons que j'ai ce code de lecture de la bdd:
Code PHP :
<?php 
$sql
= "SELECT * FROM bat_joueurs WHERE pseudo='".$pseudo."'";
$req = mysql_query($sql);
while(
$data = mysql_fetch_assoc($req))
{}
Y a-t-il moyen de compter avec un script le nombre de réponses?


RE: Compter le nombre de sortie de la bdd - grouik5962 - 29-08-2006

Bonjour simonhibou89,

Bah ah priori si j'ai bien compris ton problème il suffit de modifier ta requête SQL, pour mettre : select count(*) from bat_joueurs where pseudo.....
Le count(*) permet justement de récupérer le nombre de ligne correspondant à tes conditions. Donc si tu n'as pas de joueur la variable $data[0] sera à 0 et sinon elle contiendra le nombre de joueur répondant à ce pseudo


RE: Compter le nombre de sortie de la bdd - Adunaphel - 29-08-2006

Tu rajoutes un count(pseudo).
Ou dans ta boucle tu rajoutes une variable qui s'incrémente à chaque fois.
Ou si tes résultats sortent dans un tableau tu fais un count($nomDuTableau).

Faut faire attention à ne pas confondre le count en mysql et le count de la fonction native PHP qui permet de compter le nombre de lignes d'un tableau.


RE: Compter le nombre de sortie de la bdd - Loetheri - 29-08-2006

En MySQL, tu préfèreras COUNT(*) à COUNT('pseudo').

Mais tu selectionneras tes données une par une et non via une *.
Soit "SELECT joueur, id, news from table" et non : "SELECT * from table".


RE: Compter le nombre de sortie de la bdd - Plume - 29-08-2006

Et pense que tu peux faire
'SELECT joueur, id, news, COUNT(*) FROM [...]'
si tu as besoin.
Et j'aimerais rajouter {encore ...} qu'il ne sert strictement à rien d'utiliser la concaténation quand on écrit ses requètes avec des guillemets {"} ! C'est pire que tout {ou presque ^^}!


RE: Compter le nombre de sortie de la bdd - Adunaphel - 29-08-2006

DämEn a écrit :Et j'aimerais rajouter {encore ...} qu'il ne sert strictement à rien d'utiliser la concaténation quand on écrit ses requètes avec des guillemets {"} ! C'est pire que tout {ou presque ^^}!

Mouais bof après tu repasses pour la lisibilité du code.
Je préfére concaténer pour la relecture c'est beaucoup beaucoup plus pratique. Je m'en félicite tous les jours.


RE: Compter le nombre de sortie de la bdd - Ssin - 29-08-2006

Question de gouts, je concatène que quand nécéssaire car sinon ca fait fouilli pour moi Wink


RE: Compter le nombre de sortie de la bdd - Plume - 29-08-2006

J'entendais par là que, ça tient aussi & surtout pour l'optimisation, qu'il est sûrement préférable de faire usage d'apostrophes! ..


RE: Compter le nombre de sortie de la bdd - simonhibou89 - 31-08-2006

Bon il ya surement un truc que je fais mal voici ma requête
Code PHP :
<?php 
$sql
= "SELECT COUNT(*) FROM capitale WHERE pseudo='".$pseudo."'";
$req = mysql_query($sql);
while(
$data = mysql_fetch_assoc($req))
{}

Et voici la réponse:
Code :
Erreur sql:
SELECT COUNT (*) FROM capitale WHERE pseudo='bourgogne'
Erreur de syntaxe près de '(*) FROM capitale WHERE pseudo='bourgogne' à la ligne 1



RE: Compter le nombre de sortie de la bdd - Plume - 31-08-2006

Utilisation des balises [php ][ /php] siouplit missieur ^^
Code PHP :
<?php 
$sql
= 'SELECT COUNT(*) AS nombreCapitales FROM capitale WHERE pseudo = `'.$pseudo.'`';
$req = mysql_query($sql);
$data = mysql_fetch_array($req);
$nombreCapitale = $data['nombreCapitales'];
echo
$nombreCapitale;
J'trouve ça un peu lourd, mais j'pense que comme ça tu vas comprendre ton erreur. Wink