Ich benutze jquery.jqGrid.min 5.2.0
<script type="text/javascript">
$(document).ready(function()
{
$('#table').jqGrid(
{
mtype:'POST',
datatype:'json',
url:'data.php',
editurl:'data.php',
rowNum:50,
pager:'#pager',
colModel:[
{name:'action',formatter:'actions',formatoptions:{keys:true,afterSave:function(){$('#table').trigger('reloadGrid');}}},
{name:'name',editable:true}
],
loadComplete:function(data)
{
if(data.records >= 0)//error if PHP 5.5.9
{
}
//If i use PHP 5.3.13 function returns 0 (deletes the last record)
//If i use PHP 5.5.9 function nothing returns (Do not delete the last record)
}
});
$('#table').jqGrid('inlineNav','#pager',{edit:false,addtext:'ADD',savetext:'SAVE',canceltext:'CANCEL',addParams:{position:'last',addRowParams:{keys:true,aftersavefunc:function(){$('#table').trigger('reloadGrid');}}}});
});
</script>
//reading data.php
$page = $_POST['page'];
$limit = $_POST['rows'];
$count = $db->query('SELECT COUNT(*) FROM siri')->fetchColumn();
if($count > 0){$total_pages = ceil($count/$limit);}else{$total_pages = 0;}
if($page > $total_pages){$page = $total_pages;}
$start = $limit*$page-$limit;
if($start < 0){$start = 0;}
$res = $db->query('SELECT id, name FROM siri LIMIT '.$start.', '.$limit);
$i=0;
while($row = $res->fetch(PDO::FETCH_ASSOC))
{
$return->rows[$i]['id'] = $row['id'];
$return->rows[$i]['cell'] = array('',$row['name']);
$i++;
}
$return->page = $page;
$return->total = $total_pages;
$return->records = $count;
echo json_encode($return);
//Deleting data.php
$id = (int)$_POST['id'];
$db->exec('DELETE FROM siri WHERE id = '.$id);
Alles funktioniert, jqGrid ist gut
Aber wenn ich PHP 5.5.9
Der letzte Eintrag im Browser nicht
gelöscht
Nachdem die Seite aktualisiert wird, verschwindet es
zu löschen, verwende ich Inline-Aktionen
Aber wenn ich alle PHP 5.3.13 keine Fehler verwenden gut ist
Und ich brauche PHP 5.5.9 sehr sehr
Der Code-Fragment, das Sie auf dem Laufenden, keine Löschoption enthalten. Der einzige Fehler in Ihrem Code ist die Verwendung eines leeren Spaltennamens: 'name: '''. Sie sollten in alle Fragen über jqGrid ** die Version ** von jqGrid aufnehmen, die Sie verwenden (können) und die Verzweigung von jqGrid ([free jqGrid] (https://github.com/free-jqgrid/jqGrid), kommerziell [Guriddo jqGrid JS] (http://guriddo.net/?page_id=103334) oder ein altes jqGrid in Version <= 4.7). Andere Optionen wie 'rowNum' könnten wichtig sein, wenn Sie eine Retro-Version von jqGrid verwenden. Es ist besser, wenn Sie mehr vollen JavaScript-Code und die Testdaten (mindestens 2 Zeilen) posten – Oleg