我有一个包含以下信息的数组:
Country C_Count C_Resp Location L_Count L_resp
UK 100 10 London 20 5
UK 100 10 Manchester 80 5
France 20 3 Paris 10 1
France 20 3 Lyon 10 2
我正在使用WHILE
循环,并希望循环进入一个表格,该表格显示Country,C_Count和C_Resp一次和位于每个位置的位置,L_Count和L_resp之下。
目前,正在发生的事情是Country,C_Count和C_Resp出现次数与位置一样多。
输出将是这样的:
Country/ Location Count Resp
UK 100 10
London 20 5
Manchester 80 5
France 20 3
Paris 10 1
Lyon 10 2
不确定在WHILE
循环中是否可行 - 欢迎任何想法或建议。
答案 0 :(得分:1)
让我试一试:
获取所有可用的国家/地区:
$countries = [];
function in_array_r($item , $array){
return preg_match('/"'.$item.'"/i' , json_encode($array));
}
foreach($array as $a){
if(!in_array_r($a['Country'], $countries)){
$country['country'] = $a['Country'];
$country['count'] = $a['C_Count'];
$country['resp'] = $a['C_resp'];
$countries[] = $country;
}
}
然后回复国家的相关数据:
echo "Country\Location\tCount\Resp";
foreach($countries as $c){
$data = '';
echo $c['country']."\t".$c['count']."\t".$c['resp']."\n";
foreach($array as $a){
if($a['Country']==$c['country']){
$data .= $a['Location']."\t".$a['L_Count']."\t".$a['L_resp']."\n";
}
}
echo $data;
}
答案 1 :(得分:-1)
<?php
echo "<tr>";
$result = mysqli_query($mysqli, "SELECT DISTINCT City_Operation FROM SA_State_City_operation");
while($user_data = mysqli_fetch_array($result))
{
echo "<option>".$user_data['City_Operation']."</option>";
echo "</tr>";
}
?>
参见在 mysql 查询中使用 DISTINCT
。