0

jqueryとajaxを使用してphpページres.phpを呼び出しています。コードは次のとおりです。-

$('#submit_button').click(function () {        
    buildingVal = $("#building");
    levelVal = $("#level");
    data = 'building=' + buildingVal.val() + 'level=' + levelVal.val();
    $.ajax( {

        url: "res.php", 
        type: "POST",
        data: data,     
        success: function (data) {
            $('#npc').html(data);
        }
    });​
});

res.phpページコードは次のとおりです。-

<?php
//connect to the database
$con = mysql_connect("localhost","root","12345") or die("error ".mysql_error());

//connect to the travian table
mysql_select_db("trav",$con) or die("error ".mysql_error());

$building = mysql_real_escape_string($_GET['building']);
$level = mysql_real_escape_string($_GET['level']);


$query = "select * from ";
$query = $query . $building;
$query = $query . "where lvl=" . $level;
$query = $query . ";";
$result = mysql_query($query) or die('Error in Child Table!');

$data = mysql_fetch_assoc($result);

echo '<table><tr><td>Lumber=$data["lumber"]</td><td>Clay=$data["clay"]</td><td>Iron=$data["iron"]</td><td>Crop=$data["crop"]</td>';

?>

エラーが発生しました

Notice: Undefined index: building in C:\xampp\htdocs\debal\res.php on line 8

Notice: Undefined index: level in C:\xampp\htdocs\debal\res.php on line 9
Error in Child Table!

ページに送信された両方のパラメーターを抽出し、それらをSQLクエリで使用して、データベースのテーブルからデータを取得するにはどうすればよいですか。手伝ってくれませんか。

4

1 に答える 1

4

問題は、AJAXを介して$ _POST値を送信し、res.phpページの$_GETから変数を割り当てようとしていることです。AJAX関数をtype: "GET"、またはに変更します

$building = mysql_real_escape_string($_POST['building']);
$level = mysql_real_escape_string($_POST['level']);

res.phpで

また、「level」変数を適切に送信していない、「&」が欠落している

data = 'building=' + buildingVal.val() + '&level=' + levelVal.val();
于 2012-08-31T13:08:16.083 に答える