【发布时间】:2012-08-26 07:23:24
【问题描述】:
我正在使用 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 查询中使用它们从数据库中的表中检索数据。 请你帮帮我..
【问题讨论】:
-
在您的 ajax 函数中尝试:
data: {building: buildingVal.val(), level: levelVal.val()},或至少将您正在使用的查询字符串与与号分开。并且您将 post 与 get 混淆了。 -
如果你在发帖,格式应该是这样的 data = {building: buildingVal.val() + level: levelVal.val();}
-
@AshirvadSingh - 对象和字符串都可以作为数据有效,而前者通常更具可读性。
-
你为什么不提交一个在其字段中包含这些值的表单(它们可以隐藏)?
标签: php jquery ajax parameter-passing