I create a column in mysql and I set default values like here http://i.imgur.com/HaKLIHy.png
But when I try to display data on Extra column I have a undefined values inside my jquery-flexigrid table:
I suppose that is an error from my code of
index.php http://pastebin.com/TgAZEZbF
post2.php http://pastebin.com/08YHgHri
-----------------------------------
index.php
<!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>
post2.php
<?
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 .= "{
";
$json .= "page: $page,
";
$json .= "total: $total,
";
$json .= "rows: [";
$rc = false;
while ($row = mysql_fetch_array($result)) {
if ($rc) $json .= ",";
$json .= "
{";
$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 .= "]
";
$json .= "}";
echo $json;
?>
I don t understand which error is it and I do not know on that line is the error code.
Don't manually create json, it is time consuming and error prone.
use json_encode($array)
instead.
You missed adding a property extra
in your php for each row so the table plugin is telling you that that field is undefined.
You should be able to see this also by inspecting the data as json in your browser console network tab