从提交数据的数据库中获取id

时间:2012-01-14 08:43:57

标签: php javascript jquery ajax database

所以我正在向数据库提交数据。发送的每个数据都包含一个自动递增的ID。使用ajax或PHP(我对此非常新,并且尝试学习我确定它是ajax以及一些php)我需要获取提交的数据的id。

这个想法是,在提交表单后,用户将链接返回到提交的页面。示例:

  

引用已提交! [link]点击进入链接或返回。

链接如下所示: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并在表单提交后将其添加到页面中?

3 个答案:

答案 0 :(得分: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中使用

答案 1 :(得分:0)

有了这个php-function。插入后可以打电话。

int mysql_insert_id ([ resource $Verbindungs-Kennung ] )

mysql_insert_id

答案 2 :(得分: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);
});