Aplicación CRUD PHP + MYSQL + AJAX

crud

crud

Hola amigos sean todos bienvenidos a un nuevo artículo de la sección PHP en la cual mediante una redacción  Anterior, hablamos sobre como hacer las funciones básicas de una aplicación (CRUD), utilizando PDO para acceder a una base de datos MYSQL, mas sin embargo no tocamos temas puntuales como lo es la integración con el FRONT-END para el cual estamos implementando BOOSTRAP y el uso de AJAX para el envío de los datos, en esta ocasión veremos como realizar estas mismas acciones de Crear, Leer, Actualizar y Borrar de una forma mucho más guiada, realizando paso a paso la programación de nuestra aplicación, corrigiendo errores en la marcha y detallando cada duda que se nos pueda generar, así que a la carga!:

PARTE 1 (READ)

🛡 Los ataques informáticos crecen cada día
YouTube IconProtege tus Dispositivos - Usa Kaspersky Antivirus.

En este segmento veremos como extraer la información contenida en la tabla personas alojada en nuestra base de datos, así mismo como realizamos el modelado de los datos desde el HTML.

PARTE 2 (CREATE)

Como su nombre lo indica, este vídeo va dirigido a la creación de registros en la base de datos, para lo cual hacemos uso de AJAX y PHP:

PARTE 3 (UPDATE)

Este momento es bastante interesante, vemos como podemos realizar un condicional en nuestro código JavaScript para reutilizar el formulario de creación de registros con el fin de cargar los datos para poder actualizarlos:

PARTE 4 (DELETE)

En esta última parte vemos como podemos eliminar registros de nuestra base de datos, como explico en el vídeo salvo en solo algunos casos puntuales se hace necesario la eliminación de registros ya que debemos brindar a nuestros usuarios la disponibilidad de la información en cualquier momento.

 Con esto damos por terminado nuestra aplicación, recuerda comentar cualquier duda o inquietud, tus suscripciones son nuestro mayor regalo así que suscribete en la página principal del sitio.

Pueden descargar la plantilla para desarrollar el Video tutorial desde aca: Plantilla CRUD

35 comentarios

  1. blugeo Contestar

    hermano voy por el segundo video todo bine hasta el momento que llamo al objeto ajax desde la funcion registrar, cuando hago eso nisiquiera entra a la funcion cuando comento esa parte del codigo si pasa

  2. blugeo Contestar

    tenia error en el send un «+» de sobra agradecido por la colaboración, hermano sigue así me gusto mucho este tuto y el tiempo de respuesta de verdad sigue adelante, cualquier duda seguiré por esta via

  3. blugeo Contestar

    fino ya termine, estoy ahora tratando de implementar un buscar dentro de la tabla y que pagine si hay mas resultados

  4. Walter Contestar

    hola! muchas gracias por compartir tu trabajo. Puedo consultarte algo : implemente el codigo de forma local en mi pc sin problemas , pero al subirlo a mi servidor no funciona :c , me podrias ayudar ?

  5. Ruben Contestar

    Los tutoriales del CRUD php+javascript+ajax, muy bueno, tengo algunos problemas cuando registra por que no lo hace en la tabla…eso me impide seguir realizando la practica para actualizar, y hablando de eso se podria realizar la actualizacion en el mismo formulario que mustra las registros?, y no utilizar otro formulario?, seria util si me das una mano Ivan David Lopez, en este tema, estoy creando un pequeño proyecto y me interesa interiorisarme en esa forma de trabajar.

    • Ivan David Lopez Autor de la entradaContestar

      Hola amigo, muchas gracias por participar puedes acceder al repositorio en gitHub para que compares que estés haciendo todo bien, o bien sea ponerlo en marcha y ajustar a tus necesidades. y con respecto a la actualización usando el mismo formulario efectivamente se puede y es como está contemplado en el tutorial.
      Si deseas que miremos el código puedes escribir un email a info@byspel.com.
      Saludos!

  6. Max Del Castillo Robles Contestar

    Hola, podria hacer un tutorial para cargar combos desde base de datos en mysql

    • byspel Contestar

      Hola, gracias por participar. Aquí te dejo la URL del post correspondiente a la carga de datos desde Mysql en un componente select de html.

      Post

      Saludos!.

  7. Manuel Romero Contestar

    Muchas gracias!! 😀 estoy aprendiendo php y fue super util.
    PD (Trabajo con el viejo elkin)

  8. Max Del Castillo Robles Contestar

    Hola podrán hacer un tutorial de como subir archivos y obtener el link ?? con ajax

  9. Pedro Hernández Contestar

    buenas tardes amigo, como podria hacer una busqueda por nombre??es decir ir tecleando las letras y las que coincidan con los registros se vayan mostrando en la tabla???espero y me puedas ayudar, gracias de antemano

  10. Pedro Hernández Contestar

    muchas gracias por el aporte amigo me ha sacado de apuros….gracias sigue asi, son indispensables tus post

  11. Pedro Hernández Contestar

    buen dia compañero, no sabes porque de un moento a otro ya no me funciono mi mysql??dejo de responder y ya no me funciono la practica que subiste y aunque este todo bien solo me manda un mensaje de que no existe un driver…referente al PDO,

  12. Alejandro Hernández Contestar

    Hola Buen día, se que tal vez ya este post tiene mucho tiempo, pero tengo un problema y me gustaria ver si me puedes ayuda.

    Todo esta perfecto y funciona de maravilla, te agradezco por el tutorial, pero ahora tengo lo siguiente.
    Al dar de alta en el sistema necesito hacer una comparación o mas bien hago una validacion, para asegurarme de que un dato del formulario sea unico, y necesito desplegar un mensaje de error o mandarlo a una pagina donde pueda detallarle el error, pero no me deja o no lo muestra el mensaje o no me redirecciona a la pagina.

    El chequeo lo hago una vez que ajax mando las variables al archivo php de registro y ahi verifico contra MySQL si el dato esta repetido intento mandar un mensaje o redireccionar la pagino y hago un die(),, para que no siga la insercion, el die() funciona pero no manda ningun aviso.

    Me podrias ayudar o sabras de alguna forma de como hacerlo?

    Sin mas por el momento te agradezco de antemano.
    Saludos y bendiciones.

    • byspel Contestar

      Hola Alejandro, gracias por tu comentario, con respecto a la función que deseas hacer faltaría ver tu código para establecer donde está el error, más sin embargo puedo darte estas opciones para que las añadas a tu proyecto:
      1. desde PHP con un COUNT:

      Count con PHP

      query(«SELECT COUNT(id) FROM `personas` WHERE identificacion=’$var'»)->fetch());
      if($count>0){
      ?>
      Aqui hacemos una cosa

      Aqui hacemos otra

      Esta información puedes ampliarla acá: https://www.youtube.com/watch?v=7wFepLCvQGo

      2. Usando JavaScript (Recomendado):

      function buscarPersonaByID()
      {
      var code = escape($(«#txtBusq»).val());
      if(code != »){
      $.get(«scripts/buscar-personaID.php», { code: code },
      function(resultado){
      if(resultado == false)
      {
      alert(«No hay informacion relacionada con esta identificacion»);
      }
      else
      {
      alert(«Si hay informacion relacionada con esta identificacion»);
      }
      });
      }else{
      alert(«Por favor ingrese una identificación»);
      $(«#txtBusq»).focus();
      }
      }

      Cabe decir que necesitar un archivo php o una función que te realice la busqueda, y retorne verdadero o falso

      3. AJAX

      function objetoAjax(){
      var xmlhttp=false;
      try {
      xmlhttp = new ActiveXObject(«Msxml2.XMLHTTP»);
      } catch (e) {
      try {
      xmlhttp = new ActiveXObject(«Microsoft.XMLHTTP»);
      } catch (E) {
      xmlhttp = false;
      }
      }

      if (!xmlhttp && typeof XMLHttpRequest!=’undefined’) {
      xmlhttp = new XMLHttpRequest();

      }

      return xmlhttp;

      }

      Realizas la consulta, Aquí es donde puedes validar y hacer lo que desees:

      function Registrar(evento) {
      ccorrectivo = document.frmcorrectivos.ccorrectivo.value;
      cresponsable = document.frmcorrectivos.cresponsable.value;
      ccargo = document.frmcorrectivos.ccargo.value;
      ajax=objetoAjax();
      ajax.open(«POST», «scripts/registrar_correctivo.php»,true);
      ajax.onreadystatechange=function() {
      if (ajax.readyState==4) {
      window.location.reload(true);
      }
      }
      ajax.setRequestHeader(«Content-Type»,»application/x-www-form-urlencoded»);
      ajax.send(«cevento=»+evento+»&ccorrectivo=»+ccorrectivo+»&cresponsable=»+cresponsable+»&ccargo=»+ccargo)
      }

      Esa función es solo un ejemplo deberás ajustarla a tus necesidades prueba con el método get para que te devuelva el resultado que deseas y lo validas con javascript, éxitos en la labor!.

      • Alejandro Hernández Contestar

        Hola byspel, pongo aqui mi codigo, para que me puedas indicar que hago mal porfavor.
        Este archivo es ajax
        function Registrar(idO,accion){

        categoria = document.frmObjetos.categoria.value;
        nombre = document.frmObjetos.nombre.value;
        marca = document.frmObjetos.marca.value;
        modelo = document.frmObjetos.modelo.value;
        serie = document.frmObjetos.serie.value;
        ubicacion = document.frmObjetos.ubicacion.value;
        user = document.frmObjetos.user.value;

        ajax = objetoAjax();

        if(accion == ‘N’){
        ajax.open(«POST», «clases/registraObjeto.php»,true);
        }else if(accion == ‘E’){
        ajax.open(«POST», «clases/actualizaObjeto.php»,true);
        }

        ajax.onreadystatechange=function() {
        if(ajax.readyState==4){
        alert(‘Datos de Usuario Guardados con Exito.’);
        window.location.reload();
        Limpiar();
        }
        }
        ajax.setRequestHeader(«Content-Type»,»application/x-www-form-urlencoded»);
        ajax.send(«marca=»+marca+»&modelo=»+modelo+»&serie=»+serie+»&idO=»+idO+»&categoria=»+categoria+»&ubicacion=»+ubicacion+»&nombre=»+nombre+»&user=»+user);

        }

        Aqui paso las variables a mi archivo php, mismo que muestro aqui:

        0){
        header(‘Location: Error.php’);
        die();
        }else{
        $INS=»INSERT INTO objeto values(0,$categoria,0,’$nombre’,’$marca’,’$modelo’,’$serie’,’$ubicacion’,$user,1)»;
        $rin = mysqli_query($conn, $INS); if (!$rin) die(«Error en la insercion de Objeto Nuevo.» . mysqli_errno($conn));
        }

        ?>
        Como ves es algo sencillo pero NO me funciona. Espero me puedas ayudar a resolver esto.
        Saludos.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *