首先,为了确定用户是否投票,您需要在字段中存储除整数之外的其他内容,直到添加投票为止。我会建议NULL
。
接下来,在表格中添加另一列以获取用户的平均评分。这将使用行中没有值的列来计算null
。示例半伪代码:
// Get users row from database
// Use a query like:
// SELECT comfort,service,friendliness,food,drinks,toilet,music FROM myTable WHERE user_id = 123;
$row = $db->fetchrow($userid);
// Loop through and find out how many are valid
// Also add values together
foreach($row as $col)
{
if( !is_null($col) )
{
$numValidColumns++;
$totalVote = $totalVote + $col;
}
}
// Calculate user's average
$userAvg = $totalVote/$numValidColumns;
// Add to db for this row in new field you just made
$db->insert(...);
像这样的东西可以让你计算用户的平均保存它。如果他们添加另一票,您将重新计算该平均值。
最后一步是查询所有行并将用户平均列的值相加。将其除以总行数以得出总体平均值。
希望这对你来说是正确的。