2

jquery、ajax、および PHP と組み合わせて contenteditable を使用して、mysql データベースを直接変更および更新できるサイトを構築しようとしています。このコードは、$_POST['content'] を介してデータをキャプチャし、いくつかの jquery/ajax を使用して、php ファイル (save.php) をロードします。save.php ファイルは mysql UPDATE を実行して、ユーザーが提供した contenteditable によって入力された $_POST['content'] 情報を使用してデータベースを更新します。

save.php ファイルでは、一意の ID を使用して更新する必要がある行を識別します。この ID は URL からアクセスできます。$_GET['id'] で ID をキャプチャし、これを $var_id=$_GET['id'] に変換しようとしています。私の問題は、URL から取得した id ($var_id) 変数にアクセスしようとすると

元。http://www.website.org/selectedvariant.php?id=100

$var_id が save.php ファイルで認識されず、mysql UPDATE が機能しません。variable_id='100' を手動で入力すると正しく動作するため、これは $var_id 変数へのアクセスに問題があることを知っています。save.php ファイルが $var_id 変数の適切な値を取得していないことを示しています。

この長年の課題を解決するための助けをいただければ幸いです。

save.php

<?php mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB");

$content=mysql_real_escape_string ($_POST['content']); //gets the posted content
$var_id=$_GET['id'];

$sql="update table_list set column='$content' where id='$var_id'";
if (mysql_query($sql))
{echo 1;
}
?>

other.php ファイル (関連のみ (私が思うに?)) 情報

 $(document).ready(function() {

    $("#save").click(function (e) {         
        var content = $('#editable').html();    

        $.ajax({
            url: 'save.php',
            type: 'POST',
            data: {
            content: content
            },

このコードのほとんどは、チュートリアルから引っ張ってきました。

http://gazpo.com/2011/09/contenteditable/

ありがとう、ロン

4

2 に答える 2

2

ajax 呼び出しを行うときは、 と の両方を何らかのメソッド (get または post)contentを介して渡す必要があります。idコードでは、メソッドをcontent介して にデータを送信しています。とにかく、phpスクリプトに送信されていません。パラメータを - に変更しますPOSTsave.phpIDurl

url:'save.php?id='+WhatYouHaveInHand
于 2012-11-18T13:42:24.180 に答える
0

IDをどこにも渡していません。これが問題です。

AJAX POST 呼び出しで GET パラメーターも返すには、パラメーターがクエリ文字列に含まれている必要があります。たとえば、ランダムな ID を渡したい場合は、次のようにします。

$("#save").click(function (e) {         
    var content = $('#editable').html();    
    var randomID = Math.floor(Math.random()*1000);
    $.ajax({
        url: 'save.php?id='+randomID,
        type: 'POST',
        data: {
        content: content
        },this:

実際の ID を提供するには、明らかにこれを適応させる必要があります。しかし、アイデアはそこにあります。

于 2012-11-18T13:40:21.550 に答える