2016-07-06 60 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代碼將被觸發,它會更新出來由當前用戶的會話創建的最後一條記錄