Just like inserting updating is performed the same way.
We will demonstarte this with example. Note the changes in the html file.
First we will enable editing and second we will set the name of the id to be a OrderID.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>PHP jqGrid Class Example</title> <link rel="stylesheet" type="text/css" media="screen" href="themes/redmond/jquery-ui-1.7.1.custom.css" /> <link rel="stylesheet" type="text/css" media="screen" href="themes/ui.jqgrid.css" /> <script src="js/jquery-1.3.2.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 type="text/javascript"> jQuery(document).ready(function(){ .... // Craeate the grid manually jQuery("#grid").jqGrid({ "colModel":[ {"name":"OrderID","index":"OrderID","label":"ID","width":60, "key":true}, {"name":"OrderDate","index":"OrderDate", editable:true}, {"name":"CustomerID","index":"CustomerID", editable:true}, {"name":"Freight","index":"Freight", editable:true}, {"name":"ShipName","index":"ShipName", editable:true} ], "url":"querygrid.php", "datatype":"json", "jsonReader":{repeatitems:false}, "pager":"#pager", // now we should set the url where we post the data // in this case the same url "editurl": "querygrid.php", // tell the grid to post the OrderID as primary key "prmNames":{"id":"OrderID"} }); // Set navigator with editing record and search enabled. jQuery("#grid").jqGrid('navGrid','#pager',{add:false,edit:true,del:false}); ...... }); </script> </head> <body> ...... <table id="grid"></table> <div id="pager"></div> ....... </body> </html>

When we set "prmNames":{"id":"OrderID"} we tell the grid to post the value of the id and the name should be not id, but OrderID. This is true, since we set in the colModel key:true, which indicates that this is the id.

The related PHP code is

<?php require_once 'jq-config.php'; // include the jqGrid Class require_once "php/jqGrid.php"; // include the PDO driver class require_once "php/jqGridPdo.php"; // Connection to the server $conn = new PDO(DB_DSN,DB_USER,DB_PASSWORD); // Create the jqGridEdit instance $grid = new jqGridEdit($conn); // Write the SQL Query $grid->SelectCommand = 'SELECT OrderID, OrderDate, CustomerID, Freight, ShipName FROM orders'; $grid->dataType = "json"; // We should determine if we add a record. // jqGrid send oper to identify the operation performed // in this case we should check for add $oper = $_POST['oper']; if($oper == 'edit') { $grid->table = 'orders'; $grid->setPrimaryKeyId('OrderID'); $data = $_POST; $grid->update($data); } else { $grid->queryGrid(); } ?>