簡體   English   中英

使用php和mysql計算2點之間的距離

[英]calculate distance between 2 points using php and mysql

我有一個表格,允許用戶從數據庫中選擇第一個地點的城市名稱,然后選擇第二個地點的城市名稱,然后提交計算按鈕

村表包含:

  • ID
  • village_name
  • 經度
  • lattitude
  • district_id

我在我的代碼中做到了這一點,但沒有顯示任何內容,而var_dump顯示為null

誰能幫我 ?????

map.php

    <?php 
        if(isset($_POST['calculate']))
        {
            $pt1 = $_POST['pt1'];
            $pt2 = $_POST['pt2'];

            $sql = mysql_query("SELECT longitude, lattitude FROM village WHERE id = '$pt1' AND id = '$pt2'")or die(mysql_error());
            $num_row = mysql_num_rows($sql);
            if($num_row > 0)
            {
                while($row = mysql_fetch_array($sql))
                {
                    $lon_s = $row['longitude'];
                    $lon_e = $row['longitude'];
                    $lat_s = $row['lattitude'];
                    $lat_e = $row['lattitude'];

                    var_dump($lon_e);
                    var_dump($lon_s);
                    var_dump($lat_e);
                    var_dump($lat_s);

                    $R = 6371; //km
                    $A = pow(sin(($lat_e - $lat_s)/2), 2) + cos($lat_s) * cos($lat_e) * pow(sin(($lon_e - $lon_s)/2) , 2);
                    $C = 2 * atan2(sqrt($A), sqrt(1 - $A));
                    $D = $R * $C;

           echo $D;

                }
            }
        }

HTML代碼

<table width="30%" border="3" align="right">
                <form action="map.php" method="post">
                  <tr>
                    <td width="37%"> Location one: </td>
                    <td width="63%"><select id="location1" name="pt1">
                      <?php echo $opt->Showlocation() ?>
                      </select>
                      <br /></td>
                  </tr>
                  <tr>
                    <td>Location two:</td>
                    <td><select id="location2" name="pt2">
                      <option value="0">choose...</option>
                      </select></td>
                  </tr>
                  <tr>
                    <td>&nbsp;</td>
                    <td><input type="submit" name="calculate" value="Calculate Distance" /></td>
                  </tr>
                </form>
              </table>

這是因為WHERE id = '$pt1' AND id = '$pt2'

你應該在WHERE clause上有1

WHERE id = '$pt1'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM