0

我需要一些解决方法/解决方案来解决我的 ajax 问题

我有这个简单的<html>

<textarea class="msg"></textarea>
<button type="button" class="submit">Submit</button>

<div class="messages">
 <?php some php while loop here to display all submitted messages?>
</div>

当我单击提交时,此 ajax 获取值<textarea>并将数据提交到messages.php

$(function() {
    $(document).on('click','.submit', function () {
    var msg = $('.msg').val();

   $.ajax({
     type:"POST",
     url:"messages.php",
     data: "msg=" + msg,
     success: function(html) {
       $(html).prependTo('.messages');
     }
   });
});
});

这是我的messages.php

   //insert into database
    $msg= $_POST['msg'];
    $db = dbConnect();
    $insert= "INSERT INTO messages (content)values ('$msg')";
    $db->query($insert);

   //get the recently added message and echo it

    $query = //select the ID of the added message
    $result = $db->($query);
    $row = $result->fetch_assoc());
       echo $row['id'];
       echo $row['content'];

我挣扎的部分是如何在query将消息插入数据库后立即提交消息,因此我可以在 php 中回显它,并通过 ajax 获取它。

 success: function(html) {
           $(html).prependTo('.messages');
         }

我知道我需要一些提交消息的唯一标识符,但我不确定如何正确编码。

编辑:

好的,我需要查询添加的条目的原因是获取该条目的关联 ID,因为我会将 ID 用于其他功能。我真正需要的是我提交的数据的参考

4

2 回答 2

2
$id = $db->insert_id;
$query = "SELECT * FROM messages WHERE id = $id";
$result = $db->query($query);
$row = $result->fetch_assoc();
echo $row['id'];
echo $row['content'];
于 2013-10-17T16:15:11.163 回答
-1

使用最后插入的 id 函数,如果您在两个不同的表中插入并输入相同的行值,它也会有所帮助

//insert query in this line
$lastid=mysqli_insert_id()//php function
$que = mysqli_query("SELECT * FROM table where id= '$lastid' ");
$r = mysql_fetch_array($que);
echo $r['id'];

希望这有帮助

于 2013-10-17T16:14:25.997 回答