I have a simple menu where I click a link to show some data in a div:
[code]
$('#view_data').click(function() {
$.get("viewplayers.php",
function(data){
$('#contentcolumn').html(data);
});
return false;
});
[/code]
viewplayers.php is the standard flexigrid setup, and the data it retrieves
is correct - the only problem is that is it not in a grid, and the column
headers are not there. Here is a sample of the data it puts into my
contentcolumn div:
[data]
{ page: 1, total: 90, rows: [ {cell:['John','Smith','(703) 455-2485','7807
Smithfield Road','Springfield','DC','22153','Sandy','Smith','(703)
222-2222','[EMAIL PROTECTED]','John','Wright','[EMAIL PROTECTED]','...
[/data]
Here is my viewplayers.php script:
[code]
<link rel="stylesheet" type="text/css" href="css/flexigrid.css" />
<script type="text/javascript" src="js/jquery-1.2.6.min.js"></script>
<script type="text/javascript" src="js/flexigrid.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$.getScript('js/flexigrid.js');
$("#contentcolumn").flexigrid
(
{
// url: 'viewplayers2.php',
dataType: 'json',
colModel : [
{display: 'First Name', name : 'p_firstname',
width : 60, sortable :
true, align: 'center'},
{display: 'Last Name', name : 'p_lastname',
width : 80, sortable : true,
align: 'center'},
{display: 'Home Phone', name : 'homephone',
width : 100, sortable :
true, align: 'center'},
{display: 'Address', name : 'address', width :
140, sortable : true,
align: 'center'},
{display: 'City', name : 'city', width : 80,
sortable : true, align:
'center'},
{display: 'State', name : 'state', width : 20,
sortable : true, align:
'center'},
{display: 'Zip', name : 'zip', width : 80,
sortable : true, align:
'center'},
. ....
],
sortname: "p_lastname",
sortorder: "asc",
usepager: true,
title: "Player Data",
useRp: true,
rp: 10,
showToggleBtn: false,
width: 'auto',
height: 'auto'
}
);
});
</script>
<?
error_log("top of viewplayers2");
$table="player_info";
function runSQL($rsql) {
$hostname = "domain.com";
$username = "user";
$password = "user";
$dbname = "database";
$connect = mysql_connect($hostname,$username,$password) or die ("Error:
could not connect to database");
$db = mysql_select_db($dbname);
$result = mysql_query($rsql) or die ('Bad query');
return $result;
mysql_close($connect);
}
function countRec($fname,$tname) {
$sql = "SELECT count($fname) FROM $tname";
$result = runSQL($sql);
error_log("sql is $sql\n");
while ($row = mysql_fetch_array($result)) {
return $row[0];
}
}
$page = $_POST['page'];
$rp = $_POST['rp'];
$sortname = $_POST['sortname'];
$sortorder = $_POST['sortorder'];
if (!$sortname) $sortname = 'p_lastname';
if (!$sortorder) $sortorder = 'desc';
$sort = "ORDER BY $sortname $sortorder";
if (!$page) $page = 1;
if (!$rp) $rp = 20;
$start = (($page-1) * $rp);
$limit = "LIMIT $start, $rp";
$sql = "SELECT * FROM $table $sort $limit";
$result = runSQL($sql);;
$total = countRec('p_lastname','player_info');
error_log("number of records is $total\n");
$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 .= "cell:['".$row['p_firstname']."'";
$json .= ",'".addslashes($row['p_lastname'])."'";
$json .= ",'".addslashes($row['homephone'])."'";
$json .= ",'".addslashes($row['address'])."'";
$json .= ",'".addslashes($row['city'])."'";
$json .= ",'".addslashes($row['state'])."'";
$json .= ",'".addslashes($row['zip'])."'";
.......
$json .= "}";
$rc = true;
}
$json .= "]\n";
$json .= "}";
echo $json;
?>
[/code]
--
View this message in context:
http://www.nabble.com/flexigrid-problem---no-headers%2C-data-in-wrong-format-tp19378185s27240p19378185.html
Sent from the jQuery General Discussion mailing list archive at Nabble.com.