Te estás liando con lo de dentro de php y html. Es todo lo mismo: El output de php y html. Y el manejo de datos en el server (mediante php) es otra cosa. Espero que se entienda.
Un consejo, si estás empezando a aprender programación php, no lo hagas con funciones obsoletas, ya que en la ultima versión fueron eliminadas (incluida la api mysql y todas sus funciones). Como mínimo usa mysqli con sentencias preparadas que añaden un mínimo de seguridad "out of the box".
No es necesario usar ajax, puedes usar el evento submit normal. Todo depende de como lo quieras hacer. Pero si es un boton para eliminar algo si, lo más normal es ajax en estos casos.
Si vas a usar ajax hazlo con jQuery ya que te ahorra mucho tiempo y es muchisimo más facil de usar que javascript vanilla. También te sirve para el resto de tus scripts.
Pon esto en tu archivo scripts.js o crealo:
$(function () {
$('#borrar').on('click', function () {
var id = $(this).data().id;
$.post( '/tu_archivo.php', { id: id } );
});
});
Dentro de $(function () {}; puedes poner todos tus scripts jquery.
Y el archivo php, le he hecho unos arreglos, espero que no te importe
include('conexion.php');
$borrar = isset($_POST['id']) ?
(int
) $_POST['id'] : 0;
if ($borrar > 0) {
mysql_query('DELETE FROM prueba1 WHERE id = ' . $borrar); }
//consulta todos los videos
//muestra los datos consultados
if ($filas === 0){
echo 'No hay programación';
}
else {
echo '<p>', $row['video'], ' - ', $row['dia'], ' - ', $row['hora'], ' - ', $row['duracion'], '</p><br /><a id="boton" data-id="', $row['id'], '" href="#">Borrar</a><br /><br />';
}
}
Explico un poco lo que quieres hacer, que es algo muy sencillo:
Para conseguir esto usando jquery ajax, se crea un script que escuche el evento click de tu elemento <a>, coger la id del atributo data-id y finalmente hacer la petición a tu archivo php por post, enviando la variable id. El archivo php está esperando una variable id a través de post, cuando llegue simplemente manda una query a mysql solicitando la eliminación del registro indicado.
No te olvides de dejar de usar php mysql y empezar a usar php mysqli con sentencias preparadas.
Otra vez editando
Se me olvidó mencionarte como hacer para eliminar del DOM:
Extendiendo jquery post con done():
$('#borrar').on('click', function () {
var self = $(this),
id = self.data().id;
$.post( '/tu_archivo.php', { id: id } )
.done(function() {
self.prev('p').remove();
self.remove();
});
});
Esto solo vale para el html actual, si cambias el html también tendrás cambiar tu script. Sería más facil si metieras <p> y <a> dentro de un <div>. Así simplemente haces:
self.parent().remove();
Así si quieres mejorar tu diseño, no tendrás que cambiar tu script. A menos que pongas <a> dentro de otro elemento