Сначала переменная результата извлекает все результаты из базы данных. Затем проверьте, выполняет ли она оператор if, затем добавьте это в массив как объект JSON. наконец, отправьте общий массив как json ответ. Но в моем случае он повторяет одни и те же строки дважды, но должен вывести две уникальные строки. Я использую базу данных M SQL для этой операции.
Вот мой php код
$server = "localhost";
$username = "root";
$password = "";
$db = "happ";
// creating connection
$conn = mysqli_connect($server,$username,$password,$db );
// check conn
if ( !$conn )
{
die("Connection Failed : ". mysqli_connect_error());
}
error_reporting(E_ALL ^ E_WARNING);
$lat1 = $_GET['lat'];
$long1 = $_GET['long'];
$query = "SELECT * FROM `humanity` ";
$dbdata = array();
$result = mysqli_query($conn ,$query);
while ($row = mysqli_fetch_assoc($result)) {
$request_id = $row["request_id"];
$req_by = $row["req_by"];
$lat2 = $row["req_lat"];
$long2 = $row["req_longi"];
$req_content = $row["req_content"];
$req_status = $row["req_status"];
$req_address = $row["req_address"];
$req_price = $row["req_price"];
$time = $row["time"];
$distance = mesureDistance($lat1,$long1,$lat2,$long2);
if ($distance <= 2) {
//$myObj->lat = $lat2;
// $myObj->long = $long2;
$myObj->request_id = $request_id;
$myObj->req_by = $req_by;
$myObj->req_content = $req_content;
$myObj->req_status = $req_status;
$myObj->req_address = $req_address;
$myObj->req_price = $req_price;
$myObj->time = $time;
$myJSON = ($myObj);
# ...
$dbdata[]=$myJSON;
}
}
function mesureDistance($lat1,$long1,$lat2,$long2){
$p = 0.017453292519943295; // Math.PI / 180
//var c = Math.cos;
$a = 0.5 - cos(($lat2 - $lat1) * $p)/2 +
cos($lat1 * $p) * cos($lat2 * $p) *
(1 - cos(($long2 - $long1) * $p))/2;
return 12742 * asin(sqrt($a)); // 2 * R; R = 6371 km
}
echo json_encode($dbdata);
?>
Вывод
[{"request_id":"5","req_by":" 8801868036244 () ","req_content":"ChaldaalMuriAlu","req_status":"","req_address":"Chatmohar,Pabna ","req_price":"200","time":"2020-04-28 23:28:45"},{"request_id":"5","req_by":" 8801868036244 () ","req_content":"ChaldaalMuriAlu","req_status":"","req_address":"Chatmohar,Pabna ","req_price":"200","time":"2020-04-28 23:28:45"}]
Повторяется то же значение
вывод должен
[{"request_id":"1","req_by":" 880194568975() ","req_content":"Apple","req_status":"","req_address":"tt,dd","req_price":"500","time":"2020-04-28 23:16:51"},{"request_id":"5","req_by":" 8801868036244 () ","req_content":"ChaldaalMuriAlu","req_status":"","req_address":"Chatmohar,Pabna ","req_price":"200","time":"2020-04-28 23:28:45"}]