HummelHugo
unread,Jan 23, 2012, 3:59:02 AM1/23/12Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to Flexigrid for jQuery
Hi,
i've got a big Problem. I really like the layout of Flexigrid, but i
am not able to built my Table.
In the Example Source it says: url: post2.php.
I thought that this is the source where i echo the JSON. So i tried to
handle it this way:
This is my post2.php:
<?php
// Connect to MySQL database
mysql_connect('', $USER, $KEY);
mysql_select_db('database');
$page = 1; // The current page
$sortname = 'kundennummer'; // Sort column
$sortorder = 'ASC'; // Sort order
$qtype = ''; // Search column
$query = ''; // Search string
// Get posted data
if (isset($_POST['page'])) {
$page = mysql_real_escape_string($_POST['page']);
}
if (isset($_POST['sortname'])) {
$sortname = mysql_real_escape_string($_POST['sortname']);
}
if (isset($_POST['sortorder'])) {
$sortorder = mysql_real_escape_string($_POST['sortorder']);
}
if (isset($_POST['qtype'])) {
$qtype = mysql_real_escape_string($_POST['qtype']);
}
if (isset($_POST['query'])) {
$query = mysql_real_escape_string($_POST['query']);
}
if (isset($_POST['rp'])) {
$rp = mysql_real_escape_string($_POST['rp']);
}
// Setup sort and search SQL using posted data
$sortSql = "ORDER BY $sortname $sortorder";
$searchSql = ($qtype != '' && $query != '') ? "WHERE $qtype =
'$query'" : '';
// Get total count of records
$sql = "select count(*)
from dat_kunden
$searchSql";
$result = mysql_query($sql);
$row = mysql_fetch_array($result);
$total = $row[0];
// Setup paging SQL
$pageStart = ($page-1)*$rp;
$limitSql = "limit $pageStart, $rp";
// Return JSON data
$data = array();
$data['page'] = $page;
$data['total'] = $total;
$data['rows'] = array();
$sql = "SELECT *
FROM dat_kunden
$searchSql
$sortSql
$limitSql";
echo $sql;
$results = mysql_query($sql);
while ($row = mysql_fetch_assoc($results)) {
$data['rows'][] = array(
'id' => $row['id'],
'cell' => array( $row['kundennummer'], $row['kundenname'],
$row['firmenname'],
$row['name2'], $row['strasse'], $row['hausnummer'],
$row['plz'], $row['ort'], $row['land'],
$row['telefon'], $row['fax'], $row['email'],
$row['ansprechpartner1'], $row['ansprechpartner2'],
$row['anlagedatum'],
$row['cbtadm'], $row['scbadm'],
$row['verkaufsregion'],
"rahmenvertrag", $row['kundenverteiler'])
);
}
echo json_encode($data);
?>
this is my html code:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=ISO-8859-1" />
<title>Kundenstammdaten</title>
<link rel="stylesheet" href="style.css" />
<link rel="stylesheet" type="text/css" href="../css/
flexigrid.pack.css" />
<script type="text/javascript"
src="jquery-1.5.2.min.js"></script>
<script type="text/javascript" src="../js/flexigrid.pack.js"></
script>
</head>
<body>
</pre>
</div>
<table class="flexme3" style="display: none"></table>
<script type="text/javascript">
$(".flexme3").flexigrid({
url : 'post2.php',
dataType : 'json',
colModel : [ {
display : '',
name : 'checkbox',
width : 40,
sortable : true,
align : 'center'
}, {
display : 'Kunden-Nr',
name : 'kdnr',
width : 180,
sortable : true,
align : 'left'
}, {
display : 'Kundenname',
name : 'kdname',
width : 120,
sortable : true,
align : 'left'
}, {
display : 'Firmenname',
name : 'firmname',
width : 120,
sortable : true,
align :
'left',
}, {
display : 'Zusatzname',
name : 'zusatzname',
width : 120,
sortable : true,
align : 'left'
}, {
display : 'Straße',
name : 'str',
width : 120,
sortable : true,
align : 'left'
}, {
display : 'Nr',
name : 'nr',
width : 120,
sortable : true,
align : 'left'
}, {
display : 'PLZ',
name : 'plz',
width : 120,
sortable : true,
align : 'left'
}, {
display : 'Ort',
name : 'ort',
width : 120,
sortable : true,
align : 'left'
}, {
display : 'Land',
name : 'land',
width : 120,
sortable : true,
align : 'left'
}, {
display : 'Telefon',
name : 'tel',
width : 120,
sortable : true,
align : 'left'
}, {
display : 'Fax',
name : 'fax',
width : 120,
sortable : true,
align : 'left'
}, {
display : 'E-Mail',
name : 'mail',
width : 120,
sortable : true,
align : 'left'
}, {
display : 'Ansprechpartner1',
name : 'ansprpa1',
width : 120,
sortable : true,
align : 'left'
}, {
display : 'Ansprechpartner2',
name : 'ansprpa2',
width : 120,
sortable : true,
align : 'left'
}, {
display : 'Anlagedatum',
name : 'anldat',
width : 120,
sortable : true,
align : 'left'
}, {
display : 'CBT-ADM',
name : 'cbtadm',
width : 120,
sortable : true,
align : 'left'
}, {
display : 'SCB-ADM',
name : 'scbadm',
width : 120,
sortable : true,
align : 'left'
}, {
display : 'Region',
name : 'region',
width : 120,
sortable : true,
align : 'left'
}, {
display : 'Rahmenvertrag',
name : 'rahmenvertrag',
width : 120,
sortable : true,
align : 'left'
}, {
display : 'KVT?',
name : 'kvt',
width : 120,
sortable : true,
align : 'left'
}],
buttons : [ {
name : 'Add',
bclass : 'add',
onpress : test
}, {
name : 'Delete',
bclass : 'delete',
onpress : test
}, {
separator : true
} ],
searchitems : [ {
display : 'Kunden-Nr',
name : 'kdnr'
}, {
display : 'Kundenname',
name : 'kdname',
isdefault : true
} ],
sortname : "kdnr",
sortorder : "asc",
usepager : true,
title : 'Kunden-Stammdaten',
useRp : true,
rp : 15,
showTableToggleBtn : true,
width : 1000,
height : 200
});
function test(com, grid) {
if (com == 'Delete') {
confirm('Delete ' + $('.trSelected',
grid).length + ' items?')
} else if (com == 'Add') {
alert('Add New Item');
}
}
</script>
</body>
</html>
Maybe it is a problem of the directory. the html and post2.php are in
the same directory. The flexigrid is in another dir.
Hope you can help me and best regards
Sebastian