Ok, he estado trabajando en un proyecto pequeño para usar con DataTables. Es un complemento de cuadrícula jQuery y tengo la mayor parte de la funcionalidad funcionando como estaba previsto ahora. Lo único que no puedo entender es hacer que la cuadrícula se actualice en la edición en línea de AJAX.jQuery DataTables, grid de actualización después de la actualización (procesamiento del lado del servidor)
<script type="text/javascript" charset="utf-8">
$(document).ready(function() {
var oTable = $('#example').dataTable({
"bJQueryUI": true,
"bProcessing": true,
"sAjaxSource": "/test/server_processing.php",
"sPaginationType": "full_numbers",
"aoColumns": [ { "bVisible": false },
null,
null,
null
]
}).makeEditable({
sAddURL: "AddData.php",
sAddHttpMethod: "GET",
sDeleteHttpMethod: "GET",
sDeleteURL: "DeleteData.php",
sUpdateURL: "UpdateData.php",
oAddNewRowButtonOptions: { label: "Add...",
icons: {primary:'ui-icon-plus'}
},
oDeleteRowButtonOptions: { label: "Remove",
icons: {primary:'ui-icon-trash'}
},
oAddNewRowFormOptions: {
title: 'New Toll Free number',
show: "blind",
hide: "explode",
modal: true
},
sAddDeleteToolbarSelector: ".dataTables_length"
});
});
</script>
Este es mi archivo updatedata.php
$editedColumn = $_POST['columnId'];
$editedValue = $_POST['value'];
$id = $_POST['id'];
if ($editedColumn == '1') {
$sql = "update Main set name='$editedValue' where id='$id'";
} elseif ($editedColumn == '2') {
$sql = "update Main set dn='$editedValue' where id='$id'";
} elseif ($editedColumn == '3') {
$sql = "update Main set dn1='$editedValue' where id='$id'";
}
/* Update a record using information about id, columnName (property
of the object or column in the table) and value that should be
set */
$sql2 = "select name from Main where id = '$id';";
mysql_query($sql) or die(mysql_error());
echo "Update ok, reload to see changes";
tengo el eco al final, ya que parece estallar una alerta() en algún lugar y el eco que se llena de alerta con la información.
Conozco las funciones para volver a dibujar la cuadrícula como fnDraw, pero no tengo ni idea de cómo implementarlas.
Me encontré lo mismo que tú :) y esperando el truco. – sophie
tenga cuidado con la inyección. –