2012-01-14 127 views
0

所以我正在向數據庫提交數據。每個發送的數據都包含一個自動遞增的ID。使用Ajax或PHP(我對此非常陌生,並試圖學習,我確信它是一個Ajax和一些PHP)我需要獲取提交的數據的id。從提交的數據庫中提取數據庫

想法是,在表單提交後,用戶將鏈接返回到提交的頁面。例如:

報價已提交! [鏈接]點擊進入鏈接或返回。

的鏈接將是這樣的:http://example.com/quote-192 我幾乎擁有一切設置,我只是不知道我怎麼會得到ID,並將其添加到鏈接。

這裏是處理表單的PHP:

require('inc/connect.php'); 


    $quote = $_POST['quote']; 
    $quotes = mysql_real_escape_string($quote); 

    //echo $quotes . "Added to database"; 

    mysql_query("INSERT INTO entries (quote) VALUES('$quotes')") 
    or die(mysql_error()); 

哦,並且數據被使用Ajax發送:

$(document).delegate("'#submit-quote'", "submit", function(){ 
     var quoteVal = $(this).find('[name="quote"]').val(); 
     $.post("add.php", $(this).serialize(), function() { 
      var like = $('.quote-wrap span iframe'); 
      $('.inner').prepend('<div class="quote-wrap group">' + like + '<div class="quote"><p>' + quoteVal+ '</p></div></div>'); 
      // console.log("success"); 

     }); 
     return false; 
    }); 

所以,我怎麼會得到ID爲每一個報價,並添加它提交表單後的頁面?

回答

1

在你身邊php:

echo mysql_insert_id($result) 

那麼你的jQuery AJAX:

$.ajax({ 
type:'post', 
url:'url.php', 
data:querystring, 
success:function(data){ 
    var id = parseInt(data); 
} 
]); 

這將返回插入的ID作爲一個整數值,您可以在JavaScript

+0

我對阿賈克斯真的很陌生。我如何在我使用的代碼中工作? – nowayyy 2012-01-15 00:38:05

+0

我寫這個的方式是做jQuery的一種很長的形式。你可以將你的序列化語句添加到我有'查詢字符串'的位置,並將你的回調添加到成功函數所在的位置。 http://api.jquery.com/jQuery.ajax/通讀這一點,看看它是否更有意義。 – Ethan 2012-01-15 06:07:16

0

有了這個php函數。插入後可以調用。

int mysql_insert_id ([ resource $Verbindungs-Kennung ]) 

mysql_insert_id

0

有PHP打印的ID作爲對請求的響應:

mysql_query("INSERT INTO entries (quote) VALUES('$quotes')") 
    or die(mysql_error()); 

// Print the id of last insert as a response 
echo mysql_insert_id(); 

jQuery的,測試代碼,以提醒什麼是由PHP呼應作爲測試

// add data as a param to the function to have access to the PHP response  

$.post("add.php", $(this).serialize(), function(data) { 
    alert(data); 
}); 
+0

當我提醒,我得到NaN的 – nowayyy 2012-01-15 00:41:33

+0

編輯工作:當我警報,我得到NaN parseInt。如果我不使用parseInt,那麼警報會顯示一堆亂七八糟的HTML .....顯示PHP給出錯誤。 – nowayyy 2012-01-15 00:47:25