Bonjour à tous,
J'avance gentiment dans la conception de mon site web. Je souhaiterai maintenant donner à l'utilisateur la possibilité de pouvoir modifier et supprimer des informations d'une table SQL. Après plusieurs jours d'essai, j'ai enfin réussi à corriger mon code afin que plus aucun message d'erreur n'apparaissent.
Par contre, je ne comprends pas, hormis les 3 boutons "Ajout, modifier et supprimer" rien ne s'affiche sur ma page. J'ai utiliser le tuto suivant: http://www.jqwidgets.com/jquery-widgets-documentation/documentation/phpintegration/php-server-side-grid-crud.htm.
Si quelqu'un aurait la gentillesse d'éclairer ma lanterne, ce serait super! Merci d'avance.
http://www.jqwidgets.com/jquery-widgets-documentation/documentation/phpintegration/php-server-side-grid-crud.htm
Voici mon code:
Script connection SQL
$hostname = "localhost"; $database = "XXXXXXX"; $username = "root"; $password = "";
$mysqli = new mysqli($hostname, $username, $password, $database);
/* check connection */ if (mysqli_connect_errno()) { printf("Connect failed: %s\n", mysqli_connect_error()); exit(); }
// get data and store in a json array $user = ($_SESSION['oelog01_UserID']);
// get data and store in a json array
$query = "SELECT idcharge, naturecharge, fournisseurcharge, facturecharge, datecharge, prixcharge, iduser FROM oe_charges_exploitation WHERE iduser = $user";
if (isset($_GET['insert']))
{
// INSERT COMMAND
$query = "INSERT INTO `oe_charges_exploitation`(`naturecharge`, `fournisseurcharge`, `facturecharge`, `datecharge`, `prixcharge`, `iduser`) VALUES (?,?,?,?,?,?)";
$result = $mysqli->prepare($query);
$result->bind_param('sssssss', $_GET['naturecharge'], $_GET['fournisseurcharge'], $_GET['facturecharge'], $_GET['datecharge'], $_GET['prixcharge'], $_GET['$user']);
$res = $result->execute() or trigger_error($result->error, E_USER_ERROR);
// printf ("New Record has id %d.\n", $mysqli->insert_id);
echo $res;
}
else if (isset($_GET['update']))
{
// UPDATE COMMAND
$query = "UPDATE `oe_charges_exploitation` SET `naturecharge`=?, `fournisseurcharge`=?, `facturecharge`=?, `datecharge`=?, `prixcharge`=?, `iduser`=? WHERE `idcharge`=?";
$result = $mysqli->prepare($query);
$result->bind_param('sssssssi', $_GET['naturecharge'], $_GET['fournisseurcharge'], $_GET['facturecharge'], $_GET['datecharge'], $_GET['prixcharge'], $_GET['idcharge'], $_GET['$user']);
$res = $result->execute() or trigger_error($result->error, E_USER_ERROR);
// printf ("Updated Record has id %d.\n", $_GET['EmployeeID']);
echo $res;
}
else if (isset($_GET['delete']))
{
// DELETE COMMAND
$query = "DELETE FROM oe_charges_exploitation WHERE idcharge=?";
$result = $mysqli->prepare($query);
$result->bind_param('i', $_GET['idcharge']);
$res = $result->execute() or trigger_error($result->error, E_USER_ERROR);
// printf ("Deleted Record has id %d.\n", $_GET['EmployeeID']);
echo $res;
}
else
{
// SELECT COMMAND
$result = $mysqli->prepare($query);
$result->execute();
/* bind result variables */
$result->bind_result($ChargeID, $Nature, $Fournisseur, $Facture, $Date, $Prix, $iuser);
/* fetch values */
while ($result->fetch())
{
$charges[] = array(
'idcharge' => $ChargeID,
'naturecharge' => $Nature,
'fournisseurcharge' => $Fournisseur,
'facturecharge' => $Facture,
'datecharge' => $Date,
'prixcharge' => $Prix, 'iduser' => $iuser
);
}
echo json_encode($charges);
}
$result->close();
$mysqli->close();
/* close connection */
Script affichage/Json:
<link rel="stylesheet" href=".Files/js/jqwidgets/styles/jqx.base.css" type="text/css" /> <link rel="stylesheet" href=".Files/js/jqwidgets/styles/jqx.classic.css" type="text/css" />
<script type="text/javascript" src=".Files/js/jqwidgets/scripts/jquery-1.11.1.min.js"></script> <script type="text/javascript" src=".Files/js/jqwidgets/jqxcore.js"></script> <script type="text/javascript" src=".Files/js/jqwidgets/jqxbuttons.js"></script> <script type="text/javascript" src=".Files/js/jqwidgets/jqxscrollbar.js"></script> <script type="text/javascript" src=".Files/js/jqwidgets/jqxmenu.js"></script> <script type="text/javascript" src=".Files/js/jqwidgets/jqxcheckbox.js"></script> <script type="text/javascript" src=".Files/js/jqwidgets/jqxlistbox.js"></script> <script type="text/javascript" src=".Files/js/jqwidgets/jqxdropdownlist.js"></script> <script type="text/javascript" src=".Files/js/jqwidgets/jqxgrid.js"></script> <script type="text/javascript" src=".Files/js/jqwidgets/jqxdata.js"></script> <script type="text/javascript" src=".Files/js/jqwidgets/jqxgrid.selection.js"></script> <script type="text/javascript"> <script type="text/javascript"> $(document).ready(function () { // prepare the data
var source ={ datatype: "json", datafields: [{ name: 'naturecharge' },{ name: 'fournisseurcharge' },{ name: 'facturecharge' },{ name: 'datecharge' },{ name: 'prixcharge' },], url: 'Testphp.php' }; $("#jqxgrid").jqxGrid({ source: source, theme: 'classic', columns: [{ text: 'naturecharge', datafield: 'naturecharge', width: 250 },{ text: 'fournisseurcharge', datafield: 'fournisseurcharge', width: 150 },{ text: 'facturecharge', datafield: 'facturecharge', width: 180 },{ text: 'datecharge', datafield: 'datecharge', width: 200 },{ text: 'prixcharge', datafield: 'prixcharge', width: 120 }] }); }); var source = { datatype: "json", cache: false, datafields: [ { name: 'idcharge'}, { name: 'naturecharge'}, { name: 'fournisseurcharge'}, { name: 'facturecharge'}, { name: 'datecharge'}, { name: 'prixcharge'}
], id: 'idcharge', url: 'Testphp.php', addrow: function (rowid, rowdata, position, commit) { // synchronize with the server - send insert command var data = "insert=true&" + $.param(rowdata); $.ajax({ dataType: 'json', url: 'Testphp.php', data: data, cache: false, success: function (data, status, xhr) { // insert command is executed. commit(true); }, error: function(jqXHR, textStatus, errorThrown) { commit(false); } }); }, deleterow: function (rowid, commit) { // synchronize with the server - send delete command var data = "delete=true&" + $.param({idcharge: rowid}); $.ajax({ dataType: 'json', url: 'Testphp.php', cache: false, data: data, success: function (data, status, xhr) { // delete command is executed. commit(true); }, error: function(jqXHR, textStatus, errorThrown) { commit(false); } }); }, updaterow: function (rowid, rowdata, commit) { // synchronize with the server - send update command var data = "update=true&" + $.param(rowdata); $.ajax({ dataType: 'json', url: 'Testphp.php', cache: false, data: data, success: function (data, status, xhr) { // update command is executed. commit(true); }, error: function(jqXHR, textStatus, errorThrown) { commit(false); } }); }}; var dataAdapter = new $.jqx.dataAdapter(source); // initialize jqxGrid $("#jqxgrid").jqxGrid( { width: 500, height: 350, source: dataAdapter, theme: theme, columns: [ { text: 'Nature de la charge', datafield: 'naturecharge', width: 100 }, { text: 'Fournisseur', datafield: 'fournisseurcharge', width: 100 }, { text: 'Numero de facture', datafield: 'facturecharge', width: 180 }, { text: 'Date achat', datafield: 'datecharge', width: 180 }, { text: 'Prix TTC', datafield: 'prixcharge', width: 100 } ] });
$("#addrowbutton").jqxButton({ theme: theme }); $("#deleterowbutton").jqxButton({ theme: theme }); $("#updaterowbutton").jqxButton({ theme: theme }); // update row. $("#updaterowbutton").bind('click', function () { var datarow = generaterow(); var selectedrowindex = $("#jqxgrid").jqxGrid('getselectedrowindex'); var rowscount = $("#jqxgrid").jqxGrid('getdatainformation').rowscount; if (selectedrowindex >= 0 && selectedrowindex < rowscount) { var id = $("#jqxgrid").jqxGrid('getrowid', selectedrowindex); $("#jqxgrid").jqxGrid('updaterow', id, datarow); }}); // create new row. $("#addrowbutton").bind('click', function () { var rowscount = $("#jqxgrid").jqxGrid('getdatainformation').rowscount; var datarow = generaterow(rowscount + 1); $("#jqxgrid").jqxGrid('addrow', null, datarow);}); // delete row. $("#deleterowbutton").bind('click', function () { var selectedrowindex = $("#jqxgrid").jqxGrid('getselectedrowindex'); var rowscount = $("#jqxgrid").jqxGrid('getdatainformation').rowscount; if (selectedrowindex >= 0 && selectedrowindex < rowscount) { var id = $("#jqxgrid").jqxGrid('getrowid', selectedrowindex); $("#jqxgrid").jqxGrid('deleterow', id); } });
</script>
<body class='default'>
<div id='jqxWidget' style="font-size: 13px; font-family: Verdana; float: center;">
<div style="float: center;" id="jqxgrid">
</div>
<div style="margin-left: 30px; float: left;">
<div>
<input id="addrowbutton" type="button" value="Add New Row" />
</div>
<div style="margin-top: 10px;">
<input id="deleterowbutton" type="button" value="Delete Selected Row" />
</div>
<div style="margin-top: 10px;">
<input id="updaterowbutton" type="button" value="Update Selected Row" />
</div>
</div>
</div>
</body>
Très bonne soirée.
JORDAN M.
|