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 のpostおよびajaxメソッドを参照してください。jQuery がなくても同じことができますが、車輪の再発明はすべきではありません。

于 2013-01-03T07:12:30.937 に答える
0

yourphpfile.phpすべてのデータベース操作を実行する必要があるphpファイルです(あなたの場合はデータベースへの挿入)。したがって、基本的には、ページを更新せずに、最近挿入されたデータを Web ページに表示したいのですが、それには Ajax が必要です。

で挿入操作を行いyourphpfile.php、挿入操作が成功した場合は、結果 (DB に挿入されたデータ) を返すだけですecho $output;exit; 。 where $output = 'recently inserted data'; それが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. それが $output です。次に、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 に答える