SQL クエリから結果を取得するスクリプトを作成しようとしています。各結果を通過するときに、$row[13] の名前がどうあるべきかを確認し、それが識別する各クエリ結果を通過するときに必要です。類似した名前で、その名前が表示された回数をカウントします。配列に同じ名前が何回出現するかをカウントして表示するループを考え出したと思いました。私が探している最終結果は
Operations - 87
Training - 32
HR - 12
しかし、このコードを実行した後:
while($row = mysql_fetch_array($result_id))
{
$profile8 = mysql_query
("
SELECT org
FROM cost_centers
WHERE cost_center = '$row[13]'
")
or die(mysql_error());
$anymatches=mysql_num_rows($profile8);
while($pro8 = mysql_fetch_array($profile8))
{
$orgnames = $pro8[0];
}
$names[] = $orgnames;
$newArray = array_count_values($names);
foreach ($newArray as $key => $value) {
echo "$key - $value <br />";
}
}
私はそれが次のように連続して数えることになります:
HR - 1
HR - 1
Communications - 1
HR - 1
Communications - 1
- 1
HR - 1
Communications - 1
- 2
HR - 1
Communications - 1
- 3
HR - 1
Communications - 1
- 4
HR - 2
Communications - 1
- 4
HR - 3
Communications - 1
- 4
HR - 3
Communications - 1
- 4
Operations - 1
HR - 4
Communications - 1
- 4
Operations - 1
HR - 4
Communications - 1
- 5
Operations - 1
HR - 4
Communications - 1
- 6
Operations - 1
HR - 4
Communications - 1
- 6
Operations - 2
HR - 4
Communications - 1
- 6
Operations - 3
HR - 4
したがって、グループ化してからカウントし、カウントを追加し続けると再グループ化するように見えます。これが理にかなっていることを願っています。事前に感謝します。