par
fatalfury » 16 mai 2013, 14:14
Bonjour, je souhaite compter le nombre de garcons et filles dans une base de données. Avec ce code, cela marche bien :
$nbg=0;
$nbf=0;
$sql="select * from userdata";
$req=mysql_query($sql) or die('Erreur sql');
while($data=mysql_fetch_array($req))
{
if ( $data['field_value'] == "m") $nbg++ ; //incrémente nombre de garçons
if ( $data['field_value'] == "f") $nbf++ ; //incrémente nombre de filles
}
echo "Nombre de garcons : ".$nbg."<br>Nombre de filles : ".$nbf;
mysql_close ();
Mais c'est lent ! Car il incrémente les variables $nbg et $nbf un à un !
Donc je cherche un moyen pour compter plus rapidement.
$sql="select * from userdata";
$req=mysql_query($sql) or die('Erreur sql');
$compterg = mysql_query("SELECT COUNT(*) FROM userdata WHERE field_value ='m'");
$nbg = mysql_fetch_object($compterg);
echo "Nombre de garcons : ".$nbg;
$compterf = mysql_query("SELECT COUNT(*) FROM userdata WHERE field_value ='f'");
$nbf = mysql_fetch_object($compterf);
echo "<br>Nombre de filles : ".$nbf;
mysql_close ();
En cherchant un peu sur le net, je vois qu'on peut utiliser SELECT COUNT, mais cela ne marche pas.
Bonjour, je souhaite compter le nombre de garcons et filles dans une base de données. Avec ce code, cela marche bien :
[php]$nbg=0;
$nbf=0;
$sql="select * from userdata";
$req=mysql_query($sql) or die('Erreur sql');
while($data=mysql_fetch_array($req))
{
if ( $data['field_value'] == "m") $nbg++ ; //incrémente nombre de garçons
if ( $data['field_value'] == "f") $nbf++ ; //incrémente nombre de filles
}
echo "Nombre de garcons : ".$nbg."<br>Nombre de filles : ".$nbf;
mysql_close ();[/php]
Mais c'est lent ! Car il incrémente les variables $nbg et $nbf un à un !
Donc je cherche un moyen pour compter plus rapidement.
[php]$sql="select * from userdata";
$req=mysql_query($sql) or die('Erreur sql');
$compterg = mysql_query("SELECT COUNT(*) FROM userdata WHERE field_value ='m'");
$nbg = mysql_fetch_object($compterg);
echo "Nombre de garcons : ".$nbg;
$compterf = mysql_query("SELECT COUNT(*) FROM userdata WHERE field_value ='f'");
$nbf = mysql_fetch_object($compterf);
echo "<br>Nombre de filles : ".$nbf;
mysql_close ();[/php]
En cherchant un peu sur le net, je vois qu'on peut utiliser SELECT COUNT, mais cela ne marche pas.