Say I have a table of users, with one column being their gender.

This counts the total number of users:

$num_users = mysql_fetch_row(mysql_query("SELECT COUNT(*) FROM users"));

And the number of users ends up as $num_users[0].

How would I use a similar query to get the number of male users and number of female users.

The column is called gender and the value is always either 'm' or 'f'.

    for male:
    $num_users = mysql_fetch_row(mysql_query("SELECT COUNT(*) FROM users WHERE gender = m"));

    for female:
    $num_users = mysql_fetch_row(mysql_query("SELECT COUNT(*) FROM users WHERE gender =f"));

      SELECT gender,COUNT(*) FROM users WHERE gender in ('m','f') group by gender
      

        Originally posted by Lars Berg

        SELECT gender,COUNT(*) FROM users WHERE gender in ('m','f') group by gender
        

        [/B]

        If I use your example, how do I get display the number of males and number of females?

        $num_gender = mysql_fetch_row(mysql_query("SELECT gender,COUNT(*) FROM users WHERE gender in ('m','f') group by gender"));

          The same way as you get the result from any query.

          $sql = "SELECT gender,COUNT(*) FROM users WHERE gender in ('m','f') group by gender";
          $result = mysql_query($sql) or die(mysql_error());
          while ( $row = mysql_fetch_array($result)) {
           echo "There are " . $row[1] . $row["gender"] == "f" ? "females " : "males " ."<br>";
          }
          

          Your method

          $num_gender_=_mysql_fetch_row(mysql_query
          

          is not recommendable.

            Originally posted by Lars Berg
            The same way as you get the result from any query.

            $sql = "SELECT gender,COUNT(*) FROM users WHERE gender in ('m','f') group by gender";
            $result = mysql_query($sql) or die(mysql_error());
            while ( $row = mysql_fetch_array($result)) {
             echo "There are " . $row[1] . $row["gender"] == "f" ? "females " : "males " ."<br>";
            }
            

            [/B]

            When I use your code it simply returns

            males
            males

            Also, why is my method not recommendable?

              Write a Reply...