总计列中有多少男性和多少女性。可能是为了重新占领这个星球

时间:2011-08-16 15:23:46

标签: php mysql mysqli

尝试搜索数据库中的列,并提取男性总数和女性总数。

此数据作为f和m存储在db中的whatsex列中。

    $query = "SELECT whatsex, COUNT(*) FROM soberdata GROUP BY whatsex";
    $result = mysqli_query($connection,$query) or die(mysql_error());
    $sexdb = mysqli_fetch_array($result);
    $totalmale = $sexdb['m'];
    $totalfemale = $sexdb['f'];
    echo $totalfemale." & ".$totalmale;

此代码不输出任何内容。我做错了什么?

3 个答案:

答案 0 :(得分:0)

您的查询将返回whatsex值和COUNT(*)值,而不是mf。执行var_dump($sexdb)会显示数组中的内容。

答案 1 :(得分:0)

$ sexdb只有“whatsex”和“COUNT(*)”列。你应该使用其中一个

print_r($sexdb); 

并查看某些结果是否符合您的需求

答案 2 :(得分:0)

您将多维数组视为平面。你可以这样做来展平它

$query = "SELECT whatsex, COUNT(*) as total FROM soberdata GROUP BY whatsex";

while ($row = mysqli_fetch_array($result)) {
  $$row['whatsex'] = $row['total'];  // this makes a variable ($m or $f) using the value of the row
}

$totalmale = !empty($m) ? $m : 0;
$totalfemale = !empty($f) ? $f : 0;

如果没有男性或女性参赛作品,您应该清空数据库的结果以避免错误。