Php json повторяет то же значение - PullRequest
0 голосов
/ 28 апреля 2020

Сначала переменная результата извлекает все результаты из базы данных. Затем проверьте, выполняет ли она оператор 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"}]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...