Php Jquery表中未定义的索引/值
我在mysql中创建了一个列,并像这里一样设置了默认值,但当我尝试在额外的列上显示数据时,我的jquery flexigrid表中有一个未定义的值: 我想这是我的index.php post2.php代码中的一个错误-----------------index.php post2.phpPhp Jquery表中未定义的索引/值,php,jquery,mysql,Php,Jquery,Mysql,我在mysql中创建了一个列,并像这里一样设置了默认值,但当我尝试在额外的列上显示数据时,我的jquery flexigrid表中有一个未定义的值: 我想这是我的index.php post2.php代码中的一个错误-----------------index.php post2.php 我不知道是哪一个错误,我也不知道那一行是错误代码。不要手动创建json,这既耗时又容易出错 改用json_encode$array 您没有在php中为每一行添加额外的属性,因此表插件告诉您该字段未定义 通过在浏
我不知道是哪一个错误,我也不知道那一行是错误代码。不要手动创建json,这既耗时又容易出错 改用json_encode$array 您没有在php中为每一行添加额外的属性,因此表插件告诉您该字段未定义
通过在浏览器控制台的“网络”选项卡中将数据作为json进行检查,您也应该能够看到这一点。将代码粘贴到POST中,就像数据属性extra未定义一样。数据是什么样子的?现在粘贴的代码,问题是:如果我在mysql中插入charlietfl,值charlietfl出现在mysql表中,但在jquery表中,我显示未定义,我不明白为什么可以正确重新粘贴我的代码,请?我是代码新手,不太了解json php mysql机制。请尝试添加$json.=,'。addslashes$row['extra'];添加这段代码后,我的jquery表显示正在处理,请稍候,表中的所有值都将消失。看:。我在$json.=,'之后插入这段代码。addslashes$row['numcode'].];例如,若我在更改列表中数据的位置之前插入,我会在mysql中为额外的列添加giga。而视图值是为编号代码设置的。但是加上这段代码,我把数据移到了错误的列中。有什么想法吗,charlietfl?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8">
<title>Flexigrid</title>
<link rel="stylesheet" type="text/css" href="css/flexigrid.css" />
<script src="dist/Autolinker.min.js"></script>
<script type="text/javascript" src="jquery-1.2.3.pack.js"></script>
<script type="text/javascript" src="flexigrid.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#flex1").flexigrid
(
{
url: 'post2.php',
dataType: 'json',
colModel : [
{display: 'ID', name : 'id', width : 40, sortable : true, align: 'center'},
{display: 'ISO', name : 'iso', width : 80, sortable : true, align: 'left'},
{display: 'Name', name : 'name', width : 300, sortable : true, align: 'left'},
{display: 'Printable Name', name : 'printable_name', width : 90, sortable : true, align: 'center'},
{display: 'ISO3', name : 'iso3', width : 130, sortable : true, align: 'center', hide: false},
{display: 'Number Code', name : 'numcode', width : 80, sortable : true, align: 'center'},
{display: 'Extra', name : 'extra', width : 80, sortable : true, align: 'center', hide: true}
],
buttons : [
{name: 'Add', bclass: 'add', onpress : test},
{name: 'Delete', bclass: 'delete', onpress : test},
{separator: true},
{name: 'Anime', onpress: sortAlpha},
{name: 'Ebook', onpress: sortAlpha},
{name: 'Film', onpress: sortAlpha},
{name: 'Giochi PC', onpress: sortAlpha},
{name: 'Xbox360', onpress: sortAlpha},
{name: 'PS3', onpress: sortAlpha},
{name: 'Software', onpress: sortAlpha},
{name: 'Musica', onpress: sortAlpha},
{name: 'Teatro', onpress: sortAlpha},
{name: '5', onpress: sortAlpha},
{name: 'A', onpress: sortAlpha},
{name: 'B', onpress: sortAlpha},
{name: 'C', onpress: sortAlpha},
{name: 'D', onpress: sortAlpha},
{name: 'E', onpress: sortAlpha},
{name: 'F', onpress: sortAlpha},
{name: 'G', onpress: sortAlpha},
{name: 'H', onpress: sortAlpha},
{name: 'I', onpress: sortAlpha},
{name: 'J', onpress: sortAlpha},
{name: 'K', onpress: sortAlpha},
{name: 'L', onpress: sortAlpha},
{name: 'M', onpress: sortAlpha},
{name: 'N', onpress: sortAlpha},
{name: 'O', onpress: sortAlpha},
{name: 'P', onpress: sortAlpha},
{name: 'Q', onpress: sortAlpha},
{name: 'R', onpress: sortAlpha},
{name: 'S', onpress: sortAlpha},
{name: 'T', onpress: sortAlpha},
{name: 'U', onpress: sortAlpha},
{name: 'V', onpress: sortAlpha},
{name: 'W', onpress: sortAlpha},
{name: 'X', onpress: sortAlpha},
{name: 'Y', onpress: sortAlpha},
{name: 'Z', onpress: sortAlpha},
{name: '#', onpress: sortAlpha},
{name: 'あ', onpress: sortAlpha}
],
searchitems : [
{display: 'ISO', name : 'iso'},
{display: 'ISO3', name : 'iso3'},
{display: 'Printable Name', name : 'printable_name'},
{display: 'Number Code', name : 'numcode'},
{display: 'Name', name : 'name', isdefault: true}
],
sortname: "id",
sortorder: "asc",
usepager: true,
title: 'Motore di Ricerca',
useRp: true,
rp: 15,
showTableToggleBtn: true,
width: 900,
height: 355
}
);
});
function sortAlpha(com)
{
jQuery('#flex1').flexOptions({newp:1, params:[{name:'letter_pressed', value: com},{name:'qtype',value:$('select[name=qtype]').val()}]});
jQuery("#flex1").flexReload();
}
function test(com,grid)
{
if (com=='Delete')
{
if($('.trSelected',grid).length>0){
if(confirm('Delete ' + $('.trSelected',grid).length + ' items?')){
var items = $('.trSelected',grid);
var itemlist ='';
for(i=0;i<items.length;i++){
itemlist+= items[i].id.substr(3)+",";
}
$.ajax({
type: "POST",
dataType: "json",
url: "delete.php",
data: "items="+itemlist,
success: function(data){
alert("Query: "+data.query+" - Total affected rows: "+data.total);
$("#flex1").flexReload();
}
});
}
} else {
return false;
}
}
else if (com=='Add')
{
alert('Add New Item Action');
}
}
</script>
</head>
<body>
<table id="flex1" style="display:none"></table>
<br /><br />
</body>
</html>
<?
error_reporting(0);
function runSQL($rsql) {
$hostname = "localhost";
$username = "root";
$password = "";
$dbname = "country";
$connect = mysql_connect($hostname,$username,$password) or die ("Error: could not connect to database");
mysql_set_charset('utf8',$connect);
$db = mysql_select_db($dbname);
$result = mysql_query($rsql) or die ('test');
return $result;
mysql_close($connect);
}
function countRec($fname,$tname,$where) {
$sql = "SELECT count($fname) FROM $tname $where";
$result = runSQL($sql);
while ($row = mysql_fetch_array($result)) {
return $row[0];
}
}
$page = $_POST['page'];
$rp = $_POST['rp'];
$sortname = $_POST['sortname'];
$sortorder = $_POST['sortorder'];
if (!$sortname) $sortname = 'name';
if (!$sortorder) $sortorder = 'desc';
if($_POST['query']!=''){
$where = "WHERE `".$_POST['qtype']."` LIKE '%".$_POST['query']."%' ";
} else {
$where ='';
}
if($_POST['letter_pressed']!=''){
$where = "WHERE `".$_POST['qtype']."` LIKE '".$_POST['letter_pressed']."%' ";
}
if($_POST['letter_pressed']=='#'){
$where = "WHERE `".$_POST['qtype']."` REGEXP '[[:digit:]]' ";
}
$sort = "ORDER BY $sortname $sortorder";
if (!$page) $page = 1;
if (!$rp) $rp = 10;
$start = (($page-1) * $rp);
$limit = "LIMIT $start, $rp";
$sql = "SELECT id,iso,name,printable_name,iso3,numcode,extra FROM country $where $sort $limit";
$result = runSQL($sql);
$total = countRec('iso','country',$where);
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT" );
header("Last-Modified: " . gmdate( "D, d M Y H:i:s" ) . "GMT" );
header("Cache-Control: no-cache, must-revalidate" );
header("Pragma: no-cache" );
header("Content-type: text/x-json");
$json = "";
$json .= "{\n";
$json .= "page: $page,\n";
$json .= "total: $total,\n";
$json .= "rows: [";
$rc = false;
while ($row = mysql_fetch_array($result)) {
if ($rc) $json .= ",";
$json .= "\n{";
$json .= "id:'".$row['id']."',";
$json .= "cell:['".$row['id']."','".$row['iso']."'";
$json .= ",'".addslashes($row['name'])."'";
$json .= ",'".addslashes($row['printable_name'])."'";
$json .= ",'".addslashes($row['iso3'])."'";
$json .= ",'".addslashes($row['numcode'])."']";
$json .= "}";
$rc = true;
}
$json .= "]\n";
$json .= "}";
echo $json;
?>