2015-08-15 158 views
0

我在非重要環境中工作,只能使用ajax請求交換數據。不幸的是,ajax只能識別POST和GET方法。我需要聽起來像Ajax或PHP中的更新來使我的應用程序有效。使用AJAX數據更新數據庫

的概念是這樣的:

我使用AJAX來接收已經由用戶創建的數據,然後將它保存到MySQL和PHP。用戶可以創建,編輯和保存該數據。到目前爲止,我用POST ajax方法僞造它。但是這會產生問題,因爲每當用戶編輯和保存數據時,它都會不斷更新舊數據庫而不是更新舊數據庫。

有什麼辦法解決這個問題?

回答

0

你可以基本上任何GET或POST更新數據庫。 GET & POST只是將數據傳遞給服務器的方法。

您的php函數應該處理更新或創建數據庫。您可能需要傳遞ID並檢查ID是否存在,然後更新數據庫。

編輯:添加樣品邏輯

<?php 
//Assume this is function that your ajax called 
function processData() 
{ 
    $id = $_POST['id']; 
    $name = $_POST['name']; 

    if ($id) 
    { 
     //Update the name if ID exist 
    } 
    else 
    { 
     //Create new data with Name above 
    } 
} 
+0

是的,我認爲你是對的,你有一些參考或指導呢? – Pius

0

你可以改變你的SQL?通常的情況如下: -

insert into `TABLE` set (`field1`,`field2`) values ('value1','value2') 
on duplicate key update 
`field1`='value1', 
`field2`='value2', 
`field3`='value3'; 

聽起來像'更新'? GET和POST對於你想要做的事情來說是理想的,爲什麼要重新發明輪子並想出一個不存在的方法?

+0

但它確實存在... PUT – charlietfl

+0

是的,PUT也是另一種方法 - 更適合通過imho上傳文件。看看http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html - 這裏有用的信息 – RamRaider

+0

PUT廣泛用於REST方法 – charlietfl