【发布时间】:2023-03-04 14:51:02
【问题描述】:
我需要根据循环内的计算显示结果。循环的结果应该是 $distance 的升序。
$sql = "SELECT DISTINCT * FROM cinemas WHERE city='$city'";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
$lat1 = $_GET['lat'];
$lon1= $_GET['lon'];
$lat2 = $row['latitude'];
$lon2 = $row['longitude'];
//starting calculating the distance
$theta = $lon1 - $lon2;
$dist = sin(deg2rad($lat1)) * sin(deg2rad($lat2)) + cos(deg2rad($lat1)) * cos(deg2rad($lat2)) * cos(deg2rad($theta));
$dist = acos($dist);
$dist = rad2deg($dist);
$miles = $dist * 60 * 1.1515;
$unit = $miles * 1.609344;
$distance = substr($unit,0,4);
echo $row['cinemaname'].$distance;
}}
如何根据 $distance 升序显示结果?
显示为:
cinema name 20 km
cinema name 5 km
cinema name 30 km
cinema name 3 km
我需要在:
cinema name 3 km
cinema name 5 km
cinema name 20 km
cinema name 30 km
【问题讨论】:
-
将值保存在一个数组中,然后对数组进行排序
-
感谢您的评论,但我不知道该怎么做
标签: php mysql loops while-loop