Итого, сколько мужчин и сколько женщин в колонке.Возможно, чтобы заселить планету - PullRequest
0 голосов
/ 16 августа 2011

Попытка поиска по столбцу в БД и извлечение общего числа мужчин и общего числа женщин.

Эти данные хранятся в БД как f и m в столбце 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 голосов
/ 16 августа 2011

$ sexdb имеет только столбцы "whatsex" и "COUNT (*)".Вам следует использовать один из них

, попробовать

print_r($sexdb); 

и посмотреть, соответствует ли какой-то результат вашим потребностям

0 голосов
/ 16 августа 2011

Вы рассматриваете многомерный массив как плоский.Вы могли бы сделать это, чтобы сгладить это

$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;

Вам следует проверить пустые результаты в БД, если нет мужских или женских записей, чтобы избежать ошибок.

0 голосов
/ 16 августа 2011

Ваш запрос вернет значение whatsex и значение COUNT(*), а не m или f. Выполнение var_dump($sexdb) покажет вам, что находится в массиве.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...