Ajax, PHP y Mysql
Ajax, PHP y Mysql
Primero creamos un index.html y un archivo de conexión.php, y la base de dato adb_app con la tabla tarea
En el index
Y para mostrar
Si digitamos muestra el resultado, pero si esta vacío muestra un error y esto es porque espera un dato,
para validar se hará una comparación, si el input esta vacío que no envié nada al servidor
Ahora se quiere ocultar el elemento
Capturamos el evento del submit primero lo seleccionamos, debajo de buscar, se debe tener en cuenta
también que un formulario por defecto hace que la página se refresque, para evitar esto hacemos lo
siguiente:
Creamos adicionaTarea.php
Y en ajax.js
Ahora mostraremos ls datos en la tabla para ello creamos lista-tarea.php
Eliminar
En la función mostrarTarea(), después de mostrar los registros de de la bd… agregamos una columna con
un botón para eliminar registro…
Ahora enviamos el id del registro, para ellos crearemos la clase: eliminar-tarea
Ahora creamos la clase, en el documento escucharemos el evento click, pero solo de los elementos que
tengan la clase eliminar-tarea, y escucharan una phpfunción que una vez clickeado envie al servidor la
solicitud de eliminar registro, enviando el id y el botón lo enviara.
A través de jquery selecciono el elemento clickeado con $this, primeo lo veremos por la consola
Ahora obtendremos el id, debemos tener en cuenta que el botón tiene un padre que sería la columna
(td) y a su vez el td tiene un padre que es una fila (tr) y el tr es el que contiene el id, por lo que debemos
acceder al elemento padre con el elemento de js parentElement:
Ahora accedemos a tr
Ahora desde este elemento seleccionamos el id a través de un atributo que lo llamaremos idTarea,
entonces añadiremos esa atributo en la función obtenerTareas() en el elemento o celda que contiene el
id
Este atributo será buscado cuando demos un click en el botón, asi seleccionaremos el atributo que tenga
este elemento
Ahora como tengo el id lo enviamos al backend para que lo elimine y recibiremos una respuesta que se
mostrara por consola
Ahora en eliminar-tarea.php:
Probamos pero no se actualiza la lista de forma asíncrona
Agregamos código, entonces en vez de mostrar la respuesta por consola, ejecutare nuevamente
obtenerTareas() y también mostraremos un mensaje de confirmación con js
Editar
Hay dos formas una es haciendo uso de un botón, y la otra es habilitando la misma celda,
Entonces el ${tarea.nombre} lo pondremos dentro de un enlace para que el usuario sepa que puede
hacerle click, pero el href no enviara a ninguna pagina pero crearemos una clase ítem-tarea, para
hacerle clic, y después creamos la clase, como lo hicimos para eliminar tareas:
Para esto crearemos una variable que tendrá el valor del resultado de la validación
Será asi:
Comprobamos agregando una nueva tarea, esta debería ser adicionada sin problema, si trato de editar
no hace…
Verificamos el envio de datos
En el formulario enviaremos un id como variable esto no cambia en nada las tareas anteriores
Entonces cuando esté recibiendo el valor a editar, también recibiré el id, de esta forma el id está dentro
del formulario
Recibo el id
En editar-tarea.php