私はPHPがまったく初めてなので、この質問はばかげているかもしれません。何時間も検索しても答えが見つかりませんでした。
foreach ループを使用してクエリを作成しましたが、作成したテーブルに正しく表示されません。foreach の一部は、最後の国の隣のフィールドにすべて表示されます。
他のあらゆる場所に配置しようとしましたが、結果は同じままで、右側の列には表示されません。
$query = "SELECT COUNT(landofbirth) as c, landofbirth FROM dog WHERE landofbirth IS NOT NULL GROUP BY landofbirth ORDER BY c desc LIMIT 1000";
$result = mysql_query($query) ;
$values = array();
$pct = array();
$total = 0;
while ($line = mysql_fetch_array($result)) {
echo "<tr><td>";
$values[$line[1]] = $line[0];
$total += $line[0];
echo "$line[1]</td><td> ";
echo "$line[0] </td><td>"; }
foreach($values as $key => $value) {
$pct[$key] = $value/$total ;
$count2 = $pct[$key] * 100;
$count = number_format($count2, 2);
echo "$count %"; }
echo "</td></tr>";