mysql_num_rows returns the number of resulting rows from the mysql query. In this case, your query only returns a single row. You need to grab the resulting 56 from the row or else remove the count() function from the query and grab all rows and then mysql_num_rows will give you what you want.
Also, for what it's worth, I imagine using the count() function and retreiving the results with php is more efficient than grabbing everything and counting with PHP. I would assume it's much less overhead for memory and system usage. This may not matter with a 56 record table, when if it were hundreds of thousands, it might.