我是 PHP 和 MySQL 的新手,虽然 StackOverflow 上有很多这方面的示例,但它们都不太适合我的情况。
所以,我有一张表(名为votes)看起来像这样:
student_name | student_id | teacher
----------------------------------------
Joe | 991991991 | Mr. Smith
Sally | 717356152 | Ms. Lozano
Benny | 383717747 | Mr. Johnson
Jim | 191918918 | Mr. Smith
John | 182783718 | Mr. Smith
Alfred | 374878372 | Mr. Johnson
我想要一个HTML
/PHP
页面将其输出到我的一个 DIV 中,自动循环遍历教师的所有选项并计算每个教师出现的次数。我希望它在添加新教师时自动计数,这样我就不必事后更改代码。
Mr. Smith: 3
Mr. Johnson: 2
Ms. Lozano: 1
它不需要按任何顺序排列,我不应该把它们从最小到最大排列。
我尝试过做类似的事情
<?php SELECT teacher, SUM(1) FROM votes GROUP BY teacher ?>
or
SELECT teacher, count(teacher)
FROM votes
GROUP by teacher
但它们不起作用并给我一个错误"syntax error, unexpected 'teacher' (T_STRING)"
我可能只是错误地实施了它们。它们只是出现在它们自己的中,还是需要它们自己的连接或它们自己的 while 语句或之前的东西?
有什么建议么?
EDIT:这是我的完整代码和我的连接......
$connection = mysql_connect($serverName, $userName, $password) or die('Unable to connect to Database host' . mysql_error());
$dbselect = mysql_select_db($dbname, $connection) or die("Unable to select database:$dbname" . mysql_error());
?>
</head>
<body>
<div align="center">
<form method="post" action="vote_1.php">
<h1>Counted Vote Totals</h1>
<h4>(these values are current)</h4>
<h2>Votes by Cantidate</h2>
<?php SELECT teacher, count(teacher)
FROM votes
GROUP by teacher ?>
</br></br></br>
</form>
</body>
由于密码等原因,我没有包含我的头。