Page 1 sur 1

Question sur le comptage

Posté : 09 juil. 2007, 17:02
par Morkem
Salut,
Je veux établir quelques stats sur une liste de membres.
J'ai déjà fait un petit quelque chose pour le sexe : les hommes par exemple mais je ne parviens pas à le faire pour les femmes.

Voici ma requete :
<?php
$requete2 = mysql_query("SELECT sexe FROM escrime_membres WHERE sexe='Homme'");
$TotalDesHommes = mysql_num_rows($requete2)

?>
Il y a <strong><?php echo $TotalDesHommes; ?></strong> Hommes et <strong><?php echo $TotalDesFemmes; ?></strong> Femmes.<br />
Est ce que l'on doit mettre une autre requete pour les femmes (jai déjà essayé mais ya une parse error) OU une seule requete avec des demandes de resultats différents OU un truc qui met que comme il y a 10 hommes alors Total-nbre d'hommes = nbre de femmes....

M'enfin je sais pas trop faire si il y a qql qui a 2 sec pour m'aiguiller :)

Merci

Posté : 09 juil. 2007, 17:06
par chrislabricole
bah oui, tu fais sa :
<?php
$requete2 = mysql_query("SELECT sexe FROM escrime_membres WHERE sexe='Homme'");
$TotalDesHommes = mysql_num_rows($requete2)

$requete3 = mysql_query("SELECT sexe FROM escrime_membres WHERE sexe='Femme'");
$TotalDesFemmes= mysql_num_rows($requete3)

?>
Il y a <strong><?php echo $TotalDesHommes; ?></strong> Hommes et <strong><?php echo $TotalDesFemmes; ?></strong> Femmes.<br />
la, sa devrait marcher...

Posté : 09 juil. 2007, 17:28
par zeus
Plutôt que de faire 2 requêtes, j'aurais tout groupé dans la même
<?php
// Récupération du total d'enregistrement de chaque sexe
$requete2 = mysql_query("SELECT sexe, count(*) AS total FROM escrime_membres GROUP BY sexe");

// Initialisation du tableau destiné à contenir les résultats
$total = array();

// Parcours des résultats
while ( $a_result = mysql_fetch_array($requete2) )
{
    // Mémorisation du nombre d'enregistrements de ce sexe
    $total[ $a_result['sexe'] ] = $a_result['total'];
}

?>
Il y a <strong><?php echo $total['Homme']; ?></strong> Hommes et <strong><?php echo $total['Femmes']; ?></strong> Femmes.<br />

Posté : 09 juil. 2007, 18:34
par Morkem
Les 2 ne fonctionne pas...

La premiere j'y avais pensé et je l'avais donx essayé mais ca me fait un parse error...

La seconde me dit :
Notice: Undefined index: Homme in...
etc.

Posté : 09 juil. 2007, 18:38
par Sékiltoyai
Alors soit tu n'as pas d'homme dans ta table, soit ta requète est mauvaise, met un or die('Erreur : ' . mysql_error() ) après ton mysql_query(). (D'ailleurs zeus, t'aurais dû y penser toi aussi, c'est pas parce que tu es divin que tu ne fais pas d'erreur :P )

Posté : 09 juil. 2007, 18:43
par Morkem
Exact j'y ai pensé apres ^^ les majuscules manquaient ;)

edit:

Juste une question complémentaire siouplait :)

Quand le mot n'existe pas il me met une erreur. Comment pourrait on faire pour que si le mot n'existe pas il me remplace l'erreur par un zero ??