-2
A
回答
1
有使用循環的簡單(不推薦)溶液:
$resultq = mysql_query('select value, user_id from answers');
$answers_per_user = array(); // positive answers per user
$totals_per_user = array(); // total answers per user
while($result = mysql_fetch_assoc($resultq)){
if($result['answer'])
$answers_per_user[$result['user_id']] += $result['answer']; // increment positive answer counter for user
$totals_per_user[$result['user_id']]++;
}
你將有一個數組每用戶,然後可以用它來計算負保持每個用戶和總的答案肯定回答答案
推薦的解決方案是使用一組由sql語句給出的所有計算信息。
$result = mysql_query('select sum(value) as positivecount, count(*) as total, user_id from answers group by user_id');
while($data = mysql_fetch_assoc($result)){
// $data will hold positivecount,total, and user_id giving you all the data you need for calculating negative answer values.
}
// alternatively, use a query like this for counting the answers that were 'beans':
// select sum(if(value = "beans", 1, 0)) as answered_beans, count(*) as total, user_id from answers group by user_id
見:http://dev.mysql.com/tech-resources/articles/wizard/page3.html
1
這個問題最優雅的解決方案實際上有兩個SQL表;每個用戶有一行(用戶ID,用戶名等)和每個投票一個,每個用戶可以有多個。
以下示例將回顯有關數據的一些信息。
<?php
$sqlusers = mysql_query("SELECT userid FROM user_table")//This line grabs all users from the database.
$users = mysql_fetch_array($sqlusers);//This line creates an array containing all users.
foreach($users as $key=>$currentuser){
$sqlvotes = mysql_query("SELECT userid, vote FROM vote_table WHERE userid = $currentuser[userid]");
$votes = mysql_fetch_array($sqlvotes);//obtain an array of votes the current user has submitted
$votefrequency = array_count_values($votes)//counts the amount of trues and falses in the $votes array, and returns an array with the [true] and [false] indexes containing their respective frequency.
echo "user ".$userid." has voted ".$votefrequency[true]." times true and ".$votefrequency[false]." times false/n";
echo "average vote:". (($votefrequency[true] - $votefrequency[false] > 0) ? "true" : "false");
}
相關問題
- 1. 快速檢查,看看firebase的值是真是假
- 2. 陣列值,該值是真或假用於查找
- 3. 返回真/假從MySQL陣列
- 4. 如何計算「查看逆矩陣」
- 5. 計算重複值
- 6. 合併重複的值在陣列
- 7. 複選框值真/假
- 8. 計算真假的有效方法
- 9. 計算列中的重複ID並將awk中的值相加或R
- 10. PHP:從陣列獲取的每個值,並計算
- 11. 查看計數列,並將值從單行轉換爲多行
- 12. 在複雜的數據框中計算真/假
- 13. MySQL Datefields:重複或計算?
- 14. 創建的隨機真一陣列/假
- 15. 計算布爾數組中真(或假)元素的數量?
- 16. HOWTO看看兩個colums存在於Excel中重複的值,並使用VBA
- 17. 從重複項計算唯一值
- 18. PHP真或假
- 19. 如何計算所有真/假C++
- 20. 如何計算所有的真假值在每一個複選框
- 21. 按組計算真/假值的條形圖(閃避圖)
- 22. 計算熊貓行中真/假值的數量
- 23. 使用布爾索引複製或查看numpy子陣列
- 24. 計算陣列的高值和低值
- 25. &&運算符真的比||更優先運營商?看看代碼
- 26. 我該如何計算真正的,真的負數,假陽性和假陰性
- 27. 合併排序(看似隨機重複)
- 28. CouchDB的查看JSON陣列
- 29. 計算復矩陣的行列式fortran90
- 30. ember js - 從計算屬性返回的值看起來緩存
向我們展示你的表,以及如何將數據看起來在表格中。 – BoltClock
這與PHP有什麼關係? –
所以你希望你的查詢返回12爲真,3爲假?還是你想讓它由用戶拆分出來,所以它對用戶1返回3而對於用戶9返回爲9? – Trott