我在数据库中有一个用户表,用户在其中将表单输入到数据库中。这包括多个单选按钮。我想要它,以便在相应的表单条目旁边显示类似的单选按钮的数量。
有 8 个 radio 选项,我有一个可行的解决方案,尽管这并不理想:
mysql_select_db($database_name, $db) or die(mysql_error());
$query1 = "SELECT streamnumber, COUNT(id) FROM users WHERE streamnumber = 'Stream1' GROUP BY streamnumber ORDER BY streamnumber ";
$result1 = mysql_query($query1) or die(mysql_error());
$query2 = "SELECT streamnumber, COUNT(id) FROM users WHERE streamnumber = 'Stream2' GROUP BY streamnumber ORDER BY streamnumber ";
$result2 = mysql_query($query2) or die(mysql_error());
$query3 = "SELECT streamnumber, COUNT(id) FROM users WHERE streamnumber = 'Stream3' GROUP BY streamnumber ORDER BY streamnumber ";
$result3 = mysql_query($query3) or die(mysql_error());
$query4 = "SELECT streamnumber, COUNT(id) FROM users WHERE streamnumber = 'Stream4' GROUP BY streamnumber ORDER BY streamnumber ";
$result4 = mysql_query($query4) or die(mysql_error());
$query5 = "SELECT streamnumber, COUNT(id) FROM users WHERE streamnumber = 'Stream5' GROUP BY streamnumber ORDER BY streamnumber ";
$result5 = mysql_query($query5) or die(mysql_error());
$query6 = "SELECT streamnumber, COUNT(id) FROM users WHERE streamnumber = 'Stream6' GROUP BY streamnumber ORDER BY streamnumber ";
$result6 = mysql_query($query6) or die(mysql_error());
我对每个单选按钮进行了单独的查询,然后使用以下逻辑显示信息:
<?php
while($row = mysql_fetch_array($result1)){
echo "There are ". $row['COUNT(id)'] ." ". $row['streamnumber'] ." items.";
echo "<br />";
} ?>
<input style="width:5px;" type="radio" name="streamnumber" value="Stream1" id="StreamDates_0">
<label>Stream 1 - Module 1 + 2 - 21st - 23rd March, Module 3 - 19th - 20th April, Module 4 - 15th - 16th May 4</label>
这样我就可以在查询指定流编号时使用每个计数和名称。我想知道是否有更简单的方法可以做到这一点?我认为这与更复杂的数组有关,但我不能完全确定它。
最佳答案
不能只运行 1 个查询吗?
$query = "SELECT streamnumber, COUNT(id) AS cnt FROM users
WHERE streamnumber IN ('Stream1', 'Stream2', 'Stream3',
'Stream4', 'Stream5', 'Stream6')
GROUP BY streamnumber ORDER BY streamnumber ";
$result = mysql_query($query) or die(mysql_error());
$my_array=array();
while($row = mysql_fetch_array($result1))
{
$my_array[$row["streamnumber"]] = $row["cnt"];
}
// now $my_array["Stream1"] contains count of 'Stream1'
关于mysql - 获取数据库中相似行的数量并在表单中单独显示它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9202622/