Pues te pongo un ejemplo rapido con php y prototype:
Código Javascript
:
Ver originalEvent.observe('form_add', 'submit', function(submit){
submit.stop(); // Detiene el envío de la forma
var url = 'process.php'; // Es el nombre del archivo que procesara la información
new Ajax.Request(url, {
parameters : '?' + this.serialize(),
method : 'POST',
onSuccess : function(transport) {
var json = transport.responseText.evalJSON();
$('div_table').update(json.html);
}
});
});
Código HTML:
Ver original<input type="submit" value="Agregar usuario" />
<!-- Aquí se va a cargar el contenido enviado por ajax --!>
</div>
Código PHP:
Ver original<?php
// Obviamente primero tiene que hacer una conección a la base de datos
// Esto te lo dejo a tu criterio, suponiendo que uses el PDO de php sería algo así:
$db = new PDO(); // Creas la conección
$data = array(); // Aquí guardaremos los datos a insertar enviados por post foreach ($_POST as $fld => $value) {
$data [] = $fld . '="' . $value . '"';
}
// Hacer esto esta mal, porque pueden hacerte XSS pero para ejemplo está bien
$insert = 'INSERT INTO tbl_usuarios SET ' . implode(',', $data); $db->query($insert); // Esto inserta los datos en la base
// Ahora obtenemos los datos en la base
$select = 'SELECT * FROM tbl_usuarios';
$rows = $db->exec($select); $html = '<table><thead><tr><td>Codigo</td><td>Usuario</td><td>Email</td></tr></thead><tbody>';
foreach ($rows as $aRow) {
$html .= '<tr><td>' . $aRow ['codigo'] . '</td><td>' . $aRow ['usuario'] . '</td><td>' . $aRow ['email'] . '</td></tr>';
}
$html .= '</tbody></table>';
// Nota que no está cerrado el php con el tag ?> Esto por que según el manual de Zend es una buena práctica y nos ayuda a evitar errores de cabeceras enviadas antes de tiempo