El problema es el siguiente, tengo un codigo que se encarga de listar los titulos de los registros de una tabla. La idea es que apretando en Eliminar estos se eliminen sin necesidad de que se recargue la pagina. Hasta ahi todo bien, el detalle es que si bien "desaparece" el registro en el browser, en la base de datos sigue estando.
A decir verdad ya me resigne y como no tengo muchos conocimientos del tema procedo a pedirles ayuda. Muchas gracias de antemano.
Les dejo el
codigo del jquery:
Código Javascript
:
Ver original<script type="text/javascript">
// Funcion para eliminar los datos
$(document).ready(function() {
$('a.delete').click(function(e) {
e.preventDefault();
// Guardo el div donde fue clickeado
var donde = $(this).parent("div");
// Confirmacion
if(confirm("¿Estás seguro que deseas eliminar este registro?"))
{
$.ajax({ // Envio Datos
url: "delete.php",
type: "POST",
dataType: "html",
data: "tabla=<?php echo $donde; ?>&id=" + donde.attr('id'),
beforeSend: function() { // Antes de enviar, cambio de color el fondo del div
donde.animate({backgroundColor: "#fb6c6c"},300);
},
success: function() { // Todo ok, hago desaparecer el div
donde.slideUp('slow',function() { donde.remove();});
}
});
}
return false;
});
});
</script>
Y estos son los dos
php:
El primero acompaña al codigo anterior.
Código PHP:
<div>
<?php
// Datos
$host="localhost";
$user="usuario";
$pass="pass";
$db="bd";
// Conectamos a la base de datos
$link = mysql_connect ($host, $user, $pass);
mysql_select_db($db, $link);
// La consulta SQL
$leer = mysql_query("SELECT * FROM $donde ORDER BY id ASC") or die ("Error: ".mysql_error());
// Muestro los datos de la base de datos
while($row=mysql_fetch_array($leer))
{
?>
<div class="record" id="<?php echo $row["id"]; ?>">
<?php echo $row["name"]; ?>
<a href="#" class="delete">Eliminar</a>
</div>
<?php
}
// Cerramos y liberamos
mysql_close($link);
mysql_free_result($leer);
?>
</div>
Y este es el
delete.php:
Código PHP:
<?php
// Datos
$host="localhost";
$user="user";
$pass="pass";
$db="bd";
// Conectamos a la base de datos
$link = mysql_connect ($host, $user, $pass);
mysql_select_db($db, $link);
// Pregunto si se enviaron los datos
if($_POST['id'])
{
// Datos
$id=$_POST['id'];
$tabla=$_POST['tabla'];
// Consulta query para eliminar
$query = 'DELETE FROM $tabla WHERE id = $id';
$result = mysql_query($query);
}
// Cerramos
mysql_close($link);
?>
P.d: La variable $donde viene de otra pagina desde un if.