我有一个包含 151 列的表,第一列是与用户绑定的主 ID。
该表的目的是跟踪一个人是否完成了一项任务,共有 150 个任务。我可能会有成千上万的人为他们自己的任务列表设置一个独特的行。
这些列填充了从 0 到 3 的值,用于标识每个任务的完成级别。
我需要运行一个查询,该查询将清楚地计算特定行中“3”的数量并产生一个数字。然后,我将把这个数字除以 150,得到特定玩家的完成百分比。
我将把这个查询嵌入到一个 num_row 查询中,该查询在一个列表中显示所有用户,上面需要的查询计数作为显示的列之一。
我之前在没有 num_row 列表的页面上获得了以下查询,但是当我将查询嵌入到 num_row 列表中时,它只显示数百行中的第一行。
我的错误在哪里/什么?
$query9 = "SELECT * FROM ztnexus_ztnprints WHERE playerbp_id='$player_id' ";
$result9 = mysql_query($query9);
$numfields9 = mysql_num_fields($result9);
$row = 0;
for($i=0; $i < $numfields9; $i++){ if(mysql_result($result9, $row, $i) == '3'){ $name[$bpcount] = mysql_field_name($result9, $i); $bpcount++; } }
if (empty($bpcount)) { $bpcount = 0; }
$bp1 = ($bpcount / 150) ;
$bp2 = number_format($bp1, 2) ;
$blueprints = ($bp2 * 100) ;
'$blueprints' 是所需的百分比输出。
谢谢你。
*编辑* 我将添加我的表格的可视化示例:
FIELDS ---> | user_id | task_1 | task_2 | task_3 | etc... |
----------------------------------------------------
ROWS -----> | 1 | 2 | 3 | 0 | 2 |
| 20 | 3 | 2 | 3 | 1 |
| 55 | 3 | 1 | 3 | 2 |
----------------------------------------------------
我需要我的查询来计算每个用户的三分之二。