0

例如,我是一个用户,我想发表评论,然后提交并保存到我的数据库中。管理员的其他页面更新并自动显示我插入的数据,而无需刷新管理员页面。请帮助..任何代码都可以提供帮助。谢谢。我正在使用 php 作为服务器端语言。任何语言都可以帮助 javascript 或 ajax。

4

3 回答 3

1

Javascript(jQuery):

$.post('path_to_your_php_script.php', function(data) {
    $('the_dom_element_you_want_to_show_the_comment_in').html(data);
});

path_to_your_php_script.php 中的某处:

// some code to save the data
echo '<div>New comment</div>';
exit;

更多信息请参考 jQuery 的postajax方法。你可以不用 jQuery 做同样的事情,但你不应该重新发明轮子。

于 2013-01-03T07:12:30.937 回答
0

yourphpfile.php是您需要执行所有数据库操作的 php 文件(在您的情况下,它插入到数据库中)。所以,基本上你想在不刷新页面的情况下显示最近在网页中插入的数据,为此,我们需要 Ajax。

因此,在 中进行插入操作yourphpfile.php,如果插入操作成功,只需使用echo $output;exit; where $output = 'recently inserted data'; 返回结果(插入数据到 DB);这就是你需要在 php 方面做的事情。

你的yourphpfile.php

<?php
//your database insert operation

    echo $output;// $output should have the inserted data
    exit;

?>

现在在ajax函数中:

你可以使用jquery.ajax

 $.ajax({
                        type: "GET",
                        url: "yourphpfile.php",
                        success: function(response){
                            if(response != '') {
                                //data that I inserted displays without refreshing the page of the admin
                                $('yourDivContent').html(response);
                            } else {
                                // response error
                            }
                        }
                    });

在响应变量中,您将得到您在yourphpfile.php. 那就是$输出。然后您可以在 ajax 函数中使用响应变量并将其插入到您的 HTML 中。

于 2013-01-03T07:11:56.163 回答
-1

假设您有一个表单,您可以使用 Ajax 将数据发送到后端。ajax 调用如下所示:

var id = $(this).attr('id');

$.ajax({
    type:"POST",
    url:"ajax.php",
    data:{id:id},
    success:function(data){
            // do something if insertion into database has succeeded
    }
});

...在 php 中,您编写如下内容:

// Connecting to Database
mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS) or die ('Can not connect to MySQL database');

// Selecting Database
mysql_select_db(DBNAME) or die ('Cant select Database');

$action = mysql_real_escape_string($_POST['action']);

    if ($action == "insert")
    {       
    foreach ($recordArray as $key=>$value) {
        $query = "INSERT INTO `TABLE`
                SET name = `".$_POST['name']."` 
                                SET age = `".$_POST['age']."`
                                .
                                .
        mysql_query($query) or die('Error, insert query failed');           
    }
于 2013-01-03T07:41:23.627 回答