簡體   English   中英

查找距離 MySQL 最近的位置

[英]Find Nearest Place from MySQL

我想看看附近的位置。 我想查看最近的位置。 我想根據緯度和經度計算它。 但是我收到了這個錯誤。謝謝。 下面的評論是有效的,但是當使用 react native 提取 php 文件時,我收到“json 解析錯誤:無法解析 json 字符串”錯誤。 我更新了話題。

反應本機代碼

fetch('http://.../KONUM.php')
    .then((response) => response.json())
    .then((responseJson) => {
        firebase.database().ref('/KONUM/').set(responseJson);
    })
    .catch((error) => {
        console.error(error);
    });

'注意:未定義的變量:json 在 /home/.../public_html/database/...php 在第 32 行'

這是我的代碼:

ID = 4
ADI_SOYADI = STAK NEW
ADRES = 77.2413969039917
ACIK_ADRES = 28.653838307772872

<?php
include 'DBConfig.php';

// Create connection
$conn = new mysqli($HostName, $HostUser, $HostPass, $DatabaseName);

if ($conn->connect_error) {  
    die("Connection failed: " . $conn->connect_error);
}

$sql = "SELECT ID,ADI_SOYADI, ( 3959 * acos( cos( radians(37) ) * cos( radians( ADRES ) ) * cos( radians( ACIK_ADRES ) - radians(-122) ) + sin( radians(37) ) * sin( radians( ADRES ) ) ) ) AS distance FROM komutlab_soyle_gelsin.TBL_MUSTERILER HAVING distance < 25 ORDER BY distance LIMIT 0 , 20;";

$result = $conn->query($sql);

if ($result->num_rows > 0) {
    while($row[] = $result->fetch_assoc()) {
        $tem = $row;
        $json = json_encode($tem);
    }
} else {
    echo "No Results Found.";
}

echo $json;
$conn->close();
?>

您應該在 if-else 表達式的 scope 之外定義$json

$json = NULL;
if ($result->num_rows > 0) {
    while($row[] = $result->fetch_assoc()) {
        $tem = $row;
        $json = json_encode($tem);
    }
}
else {
    echo "No Results Found.";
}
echo $json;

但如果所有 SQL 邏輯正常進行,您很可能只想使用 JSON。 因此,在這種情況下,我可能只是將echo調用移至if條件內部:

if ($result->num_rows > 0) {
    while($row[] = $result->fetch_assoc()) {
        $tem = $row;
        $json = json_encode($tem);
        echo $json . "\n";
    }
}
else {
    echo "No Results Found.";
}

暫無
暫無

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

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