2017-02-13 96 views
1

我将地理位置API的帮助保存latlong到MySQL数据库但问题是一样的latlong插入数据库。我试图检查最后一行我的MySQL表,然后与当前的latlong比较,如果两者都是相同的,它不应该执行。请帮助我得到这个..提前感谢。检查结果从选择查询然后与当前值比较,如果可用,那么不应该插入

$latitude = 19.1579; 
$longitude = 72.9935; 
$address = airoli; 


$sql = "SELECT latitude FROM tracklatlong ORDER BY id DESC LIMIT 1"; 
$result = mysqli_query($sql, $conn); 
$row = mysqli_fetch_array($result); 

$currentlat = $_row["latitude"]; 


if($currentlat != $latitude){ 

$query = "INSERT INTO `tracklatlong` (latitude, longitude,address) VALUES ('$latitude','$longitude','$address')"; 

    if($conn->query($query) === TRUE){ 
     echo "success"; 
    } 
    else{ 
     echo "failed"; 
    } 


} 

else{ 


    echo"Already exists"; 


} 
+0

所以你想检查第一拉特长在分贝,然后想要添加 –

+0

''currentlat = $ _row [“latitude”];'=>'$ currentlat = $ row [“latitude”];' – JustBaron

+0

在复合体'(纬度,经度)'上添加'UNIQUE'约束。 – eggyal

回答

0

如所理解的,你需要检查渡过latitute或longitute是database Table只有当发现错误插入。

我正在使用面向mysqli准备语句的PHP对象。

此代码仅当同时出现和结束时才返回false。 如果您希望输出返回false,只要在SELECT查询中添加OR运算符即可。

这里是与数据的表图像

tracklatlong table

这里是HTML代码:的index.php

<?php 
    include('co_ordinate.php'); 
    $newcoordinate = new co_ordinate(); 
?> 
<!DOCTYPE html> 
<html> 
<head> 
<!-- Latest compiled and minified CSS --> 
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"> 

<!-- jQuery library --> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> 

<!-- Latest compiled JavaScript --> 
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> 
</head> 
<body> 
    <div class="col-md-6 col-md-offset-3" style="margin-top:100px;"> 
     <form action="" method="post"> 
      <div class="form-group"> 
       <i>Add Latitute</i> 
       <input type="text" name="latitute" class="form-control"> 
      </div> 

      <div class="form-group"> 
       <i>Add Longitute</i> 
       <input type="text" name="longitute" class="form-control"> 
      </div> 

      <div class="form-group"> 
       <input type="submit" name="addcoordinate" class="btn btn-primary"> 
      </div> 
     </form> 
     <?php 
      if(isset($_POST['addcoordinate'])){ 
       $latitude = $_POST['latitute']; 
       $longitute = $_POST['longitute']; 

       $newcoordinate->getCo_ordinates($latitude,$longitute); 
      } 
     ?> 
    </div> 
</body> 
</html> 

下面是类文件:co_ordinate.php

<?php 
    class co_ordinate{ 
     private $link; 

     function __construct(){ 
      $this->link = new mysqli ('localhost','root','','example'); 
      if(mysqli_connect_errno()){ 
       die("connection Failed".mysqli_connect_errno()); 
      } 
     } 

     function getCo_ordinates($latitude,$longitute){ 
      $sql = $this->link->stmt_init(); 
      if($sql->prepare("SELECT latitude,longitude FROM tracklatlong WHERE latitude=? AND longitude= ?")){ 
       $sql->bind_param('dd',$latitude,$longitute); 
       $sql->execute(); 
       $sql->store_result(); 
       if($sql->num_rows > 0){ 
        echo "The Co-Ordinates Already Exists"; 
       } 
       else 
       { 
        $query = $this->link->stmt_init(); 
        if($query->prepare("INSERT INTO tracklatlong (latitude,longitude) VALUES (?,?)")){ 
         $query->bind_param('dd',$latitude,$longitute); 
         $query->execute(); 
         echo "The Co-Ordinates Inserted Successfully"; 
        } 
       } 
      } 
      else 
      { 
       echo $this->link->error; 
      } 
     } 
    } 
?>