$sql = $connect->prepare("SELECT e.ID, u.sex FROM discos_events e
INNER JOIN discos_events_guests eg ON (e.ID = eg.eID)
INNER JOIN users u ON (eg.uID = u.id)
WHERE e.dID =:id");
$sql->bindValue(":id", $cID);
$sql->execute();
$total = $sql->rowCount();
$male = 0;
$female = 0;
while($sex = $sql->fetch()){
if($sex["sex"] == "male"){
$male++;
}else{
$female++;
}
}
$averageMales = $male/$total;
$averageFemales = $female/$total;
Can this be done any simpler?
If not, this does not work properly, if there’s two males and 0 females, $averageMales return 1 and $averageFemales return 0.
I want it to return in procentages, e.g 100% now when theres not any females, and females 0%.
No need to use separate queries: