玩jtable玩得开心,但让自己陷入了困境。
我在从POST请求访问数据时遇到问题。我试图从表中的字段值传递变量,以便我可以进行自定义SQL查询。
我的主页.php:
$(document).ready(function () {
//Prepare jTable
$('#PeopleTableContainer').jtable({
title: 'Trip data';
ajaxSettings: {
type: 'POST'
},
actions: {
listAction: 'tableactions.php?action=list',
updateAction: 'tableactions.php?action=update',
deleteAction: 'tableactions.php?action=delete'
},
fields: {
user_id: {
key: true,
edit: false,
list: false
},
name: {
title: 'Name',
edit: false,
list: false
},
trip_id: {
title: 'Trip ID',
list: false,
edit: false
},
trip_name: {
title: 'Trip Name',
width: '50%'
},
time: {
title: 'Start time',
width: '25%',
edit: false
},
date: {
title: 'Start date',
width: '25%',
edit: false
}
}
});
//Load person list from server
$('#PeopleTableContainer').jtable('load');
});
我添加了AJAX属性以确保它设置为发布。这是tableactions.php的一部分:
if($_GET["action"] == "list")
{
//Get user ID
$user_id = $_POST['user_id'];
//SQL query
$result = mysql_query("select * from userdata WHERE user_id=$user_id group by trip_id");
//Add selected records into an array
$rows = array();
while($row = mysql_fetch_array($result))
{
$rows[] = $row;
}
//Return result to jTable
$jTableResult = array();
$jTableResult['Result'] = "OK";
$jTableResult['Records'] = $rows;
print json_encode($jTableResult);
}
我已尝试手动将$ user_id更改为正确的值,该表正常工作并显示正确的信息。真的绞尽脑汁试着解决这个问题。
我错过了一些明显的东西吗?为什么我无法从$ _POST获得价值?
非常感谢任何帮助!
答案 0 :(得分:1)
我通过清理代码并将其添加到表属性中来修复此问题:
ajaxSettings: {
type: 'POST',
data: {'UserId': '<?php echo $userid;?>'},
url: './tableactions.php'
},
现在工作正常。