AJAX para llamar al archivo PHP que elimina una fila de la base de datos?

Bien, ayer hice una pregunta sobre cómo guardar las publicaciones de blog que hace un usuario. Descubrí el lado de la base de datos, y eso funciona bien. Ahora, quiero ELIMINAR una publicación de blog basada después de hacer clic en un botón onclick. A través de mis horas de búsqueda en la web, he encontrado que llamar a una función jQuery AJAX es la mejor manera de hacerlo. He estado trabajando con eso, pero no puedo hacer que esto funcione.

Código de blog recuperado de la base de datos en blog.php:

$connection = mysql_connect("...", "...", "...") or die(mysql_error()); $database = mysql_select_db("...") or die(mysql_error()); $query = mysql_query("SELECT * FROM template") or die(mysql_error()); $template = mysql_fetch_array($query); $loop = mysql_query("SELECT * FROM content ORDER BY content_id DESC") or die (mysql_error()); while ($row = mysql_fetch_array($loop)) { print $template['Title_Open']; print $row['title']; print ''; print $template['Title_Close']; print $template['Body_Open']; print $row['body']; print $template['Body_Close']; } mysqli_close($connection); 

Esto crea el siguiente HTML en home.php:

 
Title
Content

Que debería llamar a mi remove.js cuando se hace clic en el botón (aquí es donde empiezo a perder lo que estoy haciendo):

 $function deleteRow(id){ $.ajax({ url: "remove.php", type: "POST", data: {action: id} }); return false; }; 

Llamando a remove.php (No tengo idea de lo que estoy haciendo):

 $con=mysqli_connect("...","...","...","..."); if (mysqli_connect_errno()) { echo "Failed to connect to MySQL: " . mysqli_connect_error(); } $id = $_POST['action']; $query = mysql_query("DELETE FROM content WHERE content_id=$id") or die(mysql_error()); 

Mi objective aquí es QUITAR la fila con el ID de la tabla que a su vez eliminaría la publicación del blog por completo, ya que no verá la fila cuando pase por la tabla de la base de datos.

¿Algunas ideas?

Gracias por tu ayuda, Kyle

un par de cuestiones en su código original: las funciones en Jquery no deberían usar un signo $ al comienzo y dado que necesita pasar un solo valor, usaría la cadena de consulta en lugar del POst, y en lugar de llamar al “dado” en php usaría las filas afectadas para devolver la callback de si el valor fue eliminado o no. Pero este es solo mi enfoque, de otra forma estoy seguro.

Aquí hay pequeñas mejoras en tu código:

  //HTML 
Title
Content
//JQUERY jQuery(document).ready(function($) { $('button.deletePost').each(function(){ var $this = $(this); $this.click(function(){ var deleteItem = $this.attr('data-item'); $.ajax({url:'remove.php?action='+deleteItem}).done(function(data){ //colect data from response or custom code when success }); return false; }); }); }); //PHP 0 ? echo 'deleted' : echo 'not found or error'; ?>

Espero que esta muestra ayude 🙂 feliz encoding!

Espero que esto te ayude. Utilicé esto para eliminar elementos de mi proyecto de carrito de compras.

 $(".deleteitem").each(function(e) { $(this).click(function(e) { $.post("library/deletefromcart.php",{pid:$(this).attr('prodid'), ajax:true},function(){ window.location.reload() }) return false; }); });