Page 1 sur 1

compter les variables d'un tableau

Posté : 08 janv. 2013, 11:32
par marc73450
bonjour,
je suis en train d'essayer de compter les variables de mon tableau !

j'ai fait ceci :
$result = "SELECT nom,prenom,sexe FROM personne WHERE situ LIKE '$situ' and date BETWEEN '$annee-$mois-$jour' and '$annee2-$mois2-$jour2'" ;
$resultat = $db->query($result) or die(print_r($db->errorInfo()));
foreach ($resultat as $result2) 
{
$array = array($result2['nom'],$result2['prenom'],$result2['sexe']);
print_r(array_count_values(array($result2['sexe'])));
}
cela affiche :
Array ( [Homme] => 1 )
Array ( [Homme] => 1 )

alors que je voudrais que ça affiche Homme = 2 .
avez vous une idée comment faire ?

Re: compter les variables d'un tableau

Posté : 08 janv. 2013, 12:16
par dix2
salut,

ça donne quoi avec ça :
$result = "SELECT nom,prenom,sexe FROM personne WHERE situ LIKE '$situ' and date BETWEEN '$annee-$mois-$jour' and '$annee2-$mois2-$jour2'" ;
$resultat = $db->query($result) or die(print_r($db->errorInfo()));
foreach ($resultat as $result2) {
    ${$result2['sexe']}[] = array($result2['nom'], $result2['prenom']);
}
print_r(count($Homme));

Re: compter les variables d'un tableau

Posté : 08 janv. 2013, 12:31
par marc73450
pourquoi tu a mis un $homme ? et pourquoi il y a $ devant {$result2['sexe']} ?

PS : il y a des erreurs avec ton code

merci

Re: compter les variables d'un tableau

Posté : 08 janv. 2013, 12:46
par sadeq
Bonjour et bonne année,
je voudrais que ça affiche Homme = 2
Sachant que SQL peut compter il faut écrire la requête SQL comme ça:
//calculer le nombre de personnes par sexe
$sql= "SELECT sexe, COUNT(sexe) as nb 
   FROM personne
   WHERE situ LIKE '$situ' and date BETWEEN '$annee-$mois-$jour' and '$annee2-$mois2-$jour2'
   GROUP BY  sexe";
$resultat = $db->query($sql) or die(print_r($db->errorInfo()));

//afficher le résultat
foreach ($resultat as $ligne)
{
   echo  '<p>'. $ligne['sexe'] .' = '.  $ligne['nb'] .'</p>';
}

Re: compter les variables d'un tableau

Posté : 08 janv. 2013, 15:24
par marc73450
merci à vous deux ! j'ai essayé la méthode de dix2 ! elle marche finalement !
mais la méthode de sadeq est plus adapté à mon utilisation !!

merci encore !