151列を含むテーブルがあり、最初の列はユーザーに関連付けられたプライマリIDです。
この表の目的は、150のタスクがあり、人がタスクを完了したかどうかを追跡することです。私はおそらく、自分のタスクリストに固有の行を持つ何千人もの人がいるでしょう。
列には0から3までの値が入力され、各タスクの完了レベルを識別します。
特定の行の「3」の数を明確にカウントし、数を生成するクエリを実行する必要があります。次に、その数値を150で割って、特定のプレーヤーに完了率を与えます。
このクエリをnum_rowクエリに埋め込み、リスト内のすべてのユーザーを表示します。上記の必要なクエリ数は、表示される列の1つとしてカウントされます。
以前、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 |
----------------------------------------------------
各ユーザーの3を数えるクエリが必要です。