Καλώς ήρθατε στο forum μας! Για να συμμετάσχετε στις συζητήσεις θα πρέπει να είσαστε μέλος. Γίνετε μέλος τώρα!.
Moderators:
Super-Moderators, WebDev Moderators
| Αποστολέας | Μήνυμα |
Geotenia
Μέλος από: 15 Μαρ 2011 Μηνύματα: 40
|
Στις: 22 Αυγ 2011 21:11 Θέμα:
jsQGRID και POST |
|
|
Προσπαθώ να καταλάβω τον τρόπο χρήσης του jsQGRID.
Εχω λοιπόν το παρακάτω myfirstgrid.html που είναι απο το παράδειγμα στη σελίδα τους.
| κώδικας: |
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js" type="text/javascript"></script>
<script src="js/i18n/grid.locale-en.js" type="text/javascript"></script>
<script src="js/jquery.jqGrid.min.js" type="text/javascript"></script>
<script src="js/rowedex3.js" type="text/javascript"> </script>
</head>
<body>
<table id="rowed3"></table>
<div id="prowed3"></div>
<br>
</body>
</html> |
και το rowed3.je είναι
| κώδικας: |
$(function(){
var lastsel;
jQuery("#rowed3").jqGrid({
url:'server.php?q=2',
datatype: "json",
colNames:['Inv No','Date', 'Client', 'Amount','Tax','Total','Notes'],
colModel:[
{name:'id',index:'id', width:55},
{name:'invdate',index:'invdate', width:90, editable:true},
{name:'name',index:'name', width:100,editable:true},
{name:'amount',index:'amount', width:80, align:"right",editable:true},
{name:'tax',index:'tax', width:80, align:"right",editable:true},
{name:'total',index:'total', width:80,align:"right",editable:true},
{name:'note',index:'note', width:150, sortable:false,editable:true}
],
rowNum:10,
rowList:[10,20,30],
pager: '#prowed3',
sortname: 'id',
viewrecords: true,
sortorder: "asc",
onSelectRow: function(id){
if(id && id!==lastsel){
jQuery('#rowed3').jqGrid('restoreRow',lastsel);
jQuery('#rowed3').jqGrid('editRow',id,true);
lastsel=id;
}
},
editurl: "savedata.php",
caption: "Using events example"
});
jQuery("#rowed3").jqGrid('navGrid',"#prowed3",{edit:false,add:false,del:false});
}); |
Το server.php είναι
| κώδικας: |
<?php
$page = $_GET['page']; // get the requested page
$limit = $_GET['rows']; // get how many rows we want to have into the grid
$sidx = $_GET['sidx']; // get index row - i.e. user click to sort
$sord = $_GET['sord']; // get the direction
if(!$sidx) $sidx =1;
// connect to the database
$db = mysql_connect('χχχχ', 'χχχχχ', 'χχχχχ')
or die("Connection Error: " . mysql_error());
mysql_select_db('northwind') or die("Error conecting to db.");
$result = mysql_query("SELECT COUNT(*) AS count FROM invheader a, clients b WHERE a.client_id=b.client_id");
$row = mysql_fetch_array($result,MYSQL_ASSOC);
$count = $row['count'];
if( $count >0 ) {
$total_pages = ceil($count/$limit);
} else {
$total_pages = 0;
}
if ($page > $total_pages) $page=$total_pages;
$start = $limit*$page - $limit; // do not put $limit*($page - 1)
$SQL = "SELECT a.id, a.invdate, b.name, a.amount,a.tax,a.total,a.note FROM invheader a, clients b WHERE a.client_id=b.client_id ORDER BY $sidx $sord LIMIT $start , $limit";
$result = mysql_query( $SQL ) or die("Couldn t execute query.".mysql_error());
$responce->page = $page;
$responce->total = $total_pages;
$responce->records = $count;
$i=0;
while($row = mysql_fetch_array($result,MYSQL_ASSOC)) {
$responce->rows[$i]['id']=$row[id];
$responce->rows[$i]['cell']=array($row[id],$row[invdate],$row[name],$row[amount],$row[tax],$row[total],$row[note]);
$i++;
}
echo json_encode($responce);
?>
|
(προφανώς έχω αλλάξει τους κωδικούς.
Ενώ το savedata.php είναι
| κώδικας: |
<?php
$a=$_POST['id'];
$b=$_POST['note'];
$db = mysql_connect('xxxxx', 'xxxxx', 'xxxxx')
or die("Connection Error: " . mysql_error());
mysql_select_db('northwind') or die("Error conecting to db.");
$SQL = "UPDATE invheader SET note=$b WHERE id=$a";
$result = mysql_query( $SQL ) or die("Couldn t execute query.".mysql_error());
?>
|
Οταν το ανοίγω τραβάει τα δεδομένα μιά χαρά. Οταν κάνω inline editing τα σώνει στον πίνακα στον browser αλλά όχι στη βάση.
Μήπως έχει κάποιος κάποια ιδέα τι μπορεί να φταίει?
|
|
|
|
|
Τώρα είναι 22 Μαη 2013 21:56 | All times are UTC + 3 (DST in action)
|