我使用select group by查询,因为我在列中有重复的值,并使用foreach循环为每个增量生成每个结果。然而,我得到了正确的结果,但不是增量,我还需要将我的结果与(if语句)进行比较。
$sqlr = mysql_query ("SELECT lati, COUNT(*) FROM upload GROUP BY lati HAVING COUNT(lati) > 1;");
while ($row = mysql_fetch_array($sqlr))
{
$countedlati = array($row['lati']);
foreach ($countedlati as $key => $lativalue) {
echo $key ."</br>".$lativalue ."</br>";
}
}
结果
我想要的是这个结果
0
1.3048
1
3.140583
然后比较if语句中的结果
for( $i=$offset; $i<$end; $i++ )
{
$data = $res[$i];
if($data['latitude'] == $lativalue){
$icon = "upload/yellow.png";
}
}
发布于 2019-06-13 03:12:57
当你做$countedlati = array($row['lati']);
时,你用1个元素定义数组-这就是为什么你每次都得到0的原因。
您应该将元素添加到一个数组中,然后对其进行迭代。考虑以下示例:
$sqlr = mysql_query ("SELECT lati, COUNT(*) FROM upload GROUP BY lati HAVING COUNT(lati) > 1;");
$latis = array(); // init empty array
while ($row = mysql_fetch_array($sqlr)) {
$latis[] = $row['lati']; // append the element to the array
}
现在,您可以像这样执行foreach
循环:
foreach($latis as $lati) {
if($lati == $lativalue){
$icon = "upload/yellow.png";
}
}
https://stackoverflow.com/questions/56568753
复制相似问题