2016-07-06 51 views
0

我无法弄清楚这个问题,假设在页面上有一个表单,其中有一个输入,如果您提交表单,那么您保存的文本将是发送到数据库,现在保存,我想获得用户的位置:使用ajax更新php表单发送的数据

经度 纬度

每当他提交表单,现在我发现,这是更好地使用JavaScript来获取位置,然后将其发送到服务器使用AJAX所以基本上当我提交表单输入的文本存储在数据库中,我标记提交按钮ID为“提交”,我想用jQuery与jQuery如此:

$.ajax({ 
    url:'update_the_last_form_submit_data.php', 
    type:'POST', 
    data:{lat:lat,lat:lat} 
    success:, 
    error: 
}); 

所以我想要做的是,当过用户提交表单,阿贾克斯将增加目前的经度和纬度MySQL查询被发送到数据库

,最后表的外观像这样:

时间------------用户输入-------- ---------纬度经度
XX-XX-XX --------你加了什么----检测到的经度-------检测到的纬度

编辑:

我不知道该怎么做呢

基本上我有Ajax代码点击功能,但我不知道我什么时候发送Ajax请求我怎么知道这行刚刚发送给我的那个php

$("#submit").click(function(){ 
    $.ajax({ 
     url:'update_the_last_form_submit_data.php', 
     type:'POST', 
     data:{lat:lat,lat:lat} 
     success:, 
     error: 
    }); 


}); 
+3

您遇到的问题是什么? –

+0

目前还不清楚问题在哪。 – apokryfos

+0

我不知道如何更新刚刚发送给db的记录,由php – wolf4

回答

-1

你只需要在你的PHP中选择“lat”POST变量,然后使用它。听起来你已经知道如何写入数据库,因此部分已经解决了。当您将请求发送到'update_the_last_form_submit_data.php'时,将会有一个变量$_POST["lat"],您可以以正常方式使用该变量。

顺便说一句,你的数据变量有一个错误 - lat定义两次。我怀疑你想要的东西,如:

data: {lat:lat,long:long} 
+0

但我提交表单后提交输入的文本发送到数据库,并在同一时间点击提交按钮时,ajax将被触发,并将其发送到PHP文件,将保存变量PHP的行,但我如何选择同一行,我的意思是提交表单后生成的那一行?因为我需要更新那一行,但是我需要知道所有行中的哪一个是我要更新协调的一个 – wolf4

+0

,所以你提交表单,然后通过ajax同时提交数据?这是一个相当糟糕的设计恕我直言。为什么不提交纬度和经度以及表格数据?要么使用Ajax提交整个表单(大量的在线教程如何执行此操作),要么在表单提交使用javascript之前将纬度和经度变量放入隐藏字段中,然后将其与表单数据的其余部分一起提交。然后,您可以在不混淆的情况下同时将所有内容添加到MySQL中。 – ADyson

+0

...续。目前你有两个不同的请求或多或少同时进行。无法保证PHP首先执行哪一个。所以,即使你可以使用会话在他们之间进行同步,或者其他任何方式都无法保证他们按照你需要的顺序运行。 – ADyson

0

行,所以我可能与解决方案,当用户提交表单,我会在数据库中保存会话的用户名和当AJAX代码将被触发,它会更新出来由当前用户的会话创建的最后一条记录