2017-01-22 25 views
0

私は統計ページPHP &をコード化しています。私は都市のテーブル(id、cityname)とデータベースの内容(ID、名前、都市名、電話、クラス) は、今私は、この例のように、各都市での学生の数を表示したい:studentsからの各都市の学生数を知る必要があります.DB統計ページ

city1 = 51 students 
city2 = 150 students 
city3 = 32 students 
. 
. 
city50 = 550 students 

この機能はうまく動作し、与えられた都市で学生を返している:私は50個の都市があり

<?php 
$students = get_students_by_cityname("city1"); 
if($students == NULL) 
    die("Problem .."); 

$scount = count($students); 
if($scount == 0) 
    die("No students .."); 

echo "city1 has $scount students"; 

?> 

私はこの機能を50回繰り返さなければならない!

私はループを使用しようとしましたが、動作しませんでした。私は本当に助けが必要です!

多くのおかげ

答えて

0

あなたはSQL group byクエリを作成する権限を持っていない場合は、このコードを試してみてください。(それはgroup by文によって、あなたの出力を取得する方が良いでしょう)

$cities = array('city1', 'city2', ..., 'city50'); 
$output = array(); 
foreach($cities as $city){ 
    $output[$city] = count(get_students_by_cityname($city)); 
} 

foreach($output as $city => $count){ 
    echo "$city = $count students"; 
} 
+0

友達がこれを使うことができます!市区町村名を選択してください(*) 学生から 市区町村別グループ 都市名で注文してください。 –

+0

@AlgeriaProgrammerはい、次のクエリを実行できます: 'SELECT cityname、count(*)as studentcount FROM students GROUP BY cityname ORDER BY cityname;' – x01saa

1

あなたが学生のテーブルを持っている場合は、その理由だけで、単一のクエリを実行しませんか?

select cityname, count(*) 
from students 
group by cityname 
order by cityname; 
+0

私は理解していませんでし?? –

関連する問題