jueves, 8 de mayo de 2014

Creacion de un CRUD utilizando POO (Parte 2)

Seguimos con la creacion de nuestro pequeño sistema CRUD. En la entrada anterior construimos la interfaz y utilizamos un archivo JavaScript con el cual validabamos algunos datos.

Deciamos que si faltaba la identificacion del estudiante nos aparecia una alerta JavaScript que nos informaba del suceso pero si todos los datos del estudiantes estan completos la funcion valida_estudiante() nos hace un submit a la misma pagina.

Por lo que vamos a realizar unos cambios en nuestra pagina add_estudiante.php.

Lo primero que vamos a realizar es que al objeto form de nuestro html le vamos a agregar el atributo method y el cual va a ser igual a post, es decir nuestras variables van a viajar via POST:


Luego de esto debajo de nuestro boton aceptar vamos a agregar un input de tipo hidden (oculto) de esta forma:
 Con que fin? con el fin de que cuando nuestra pagina se recargue con el submit, poder realizar unas validaciones que a continuacion les mostraré, ahora antes de nuestro codigo HTML vamos a colocar este pequeño bloque de codigo PHP:


Que hicimos aqui? Cuando hicimos submit a nuestra pagina viajaron vía POST todos los input que tenemos creados en nuestro formulario incluyendo el tipo Hidden, entonces lo que esta haciendo este pedazo de código es primero preguntar si existe (isset) una variable POST que se llama grabar (así llamamos al hidden) y también preguntamos si el valor que contiene es igual a "si", y luego lo que hace es que mandamos a imprimir en pantalla (print_r) todas las variables POST, por ultimo el exit para que no cargue toda la pagina. Dando como resultado esto:


De esta forma verifico que los datos que pase en mi formulario verdaderamente esten siendo enviados, ya se Post o Get.
Sigamos modificando nuestro código. En este punto es donde vamos a insertar los datos en la tabla de estudiantes, por lo que vamos a necesitar llamar nuestra clase y crear el objeto para insertar a nuestro primer estudiante, por lo que nos dirigimos al archivo que contiene nuestra clase y vamos a colocar lo siguiente:


Llamamos a la función add_estudiante, la cual recibe 3 parámetros como vemos en la imagen, luego tenemos nuestra sentencia sql y a la cual le pasamos las variables capturadas, y por ultimo preguntamos si la variable $res devolvió algún valor, esto con el fin de saber si se realizó o no la inserción a la tabla. Si observamos en la condición estamos escribiendo con el echo un bloque javascript, el cual hace uso del método location.href, el cual lo que hace es que nuevamente nos redirecciona a nuestra pagina de agregar estudiantes, pero ademas de esto le pasamos una variable GET llamada res y la cual le damos el valor de 0 o 1, Cero para cuando no haya podido por cualquier motivo insertar en la tabla y 1 obviamente para cuando haya sido exitoso.

Listo por el momento dejamos quieta nuestra clase Estudiantes y volvemos a nuestra pagina de creacion de estudiantes, ahora lo que vamos a hacer es a referenciar a nuestra Clase, instanciarla y a ser uso de la funcion previamente creada, de la siguiente forma:


 Por ultimo agregamos el siguiente pedazo de codigo para imprimir el mensaje si la insercion fue exitosa o no:


Y si cruzamos los dedos y todo sale bien debemos haber podido insertar en la base de datos y aparecernos en la pagina algo como esto:


Espero les haya gustado, dejen sus comentarios, opiniones, observaciones y hasta una próxima entrada donde seguiremos con nuestro sistema CRUD.

24 comentarios:

  1. Muy bueno tu ejercicio, lo entendi a la perfeccion. Espero con ansias las siguientes funciones

    ResponderEliminar
    Respuestas
    1. David Hola, me alegra que haya sido de tu ayuda y que te haya gustado. En estos días trataré de continuar con nuestro pequeño sistema. Saludos.

      Eliminar
  2. No entiendo la parte en que se ingresa el codigo de public function y la clase que se llama estoy perdido

    ResponderEliminar
    Respuestas
    1. yo tampoco entendí esa parte

      Eliminar
    2. Hola, para poder entender esta parte debes mirar los post anteriores. Pero para resumirte tenemos creada una carpeta que se llama clases, dentro de clases está estudiantes.php y dentro esta el metodo add_estudiantes

      Eliminar
    3. Walter buenas noches,
      al declarar el metodo add_estudiantes utilizzas la misma clase que creaste en el ejemplo anterior ? la verdad yo tambien intente varios arreglos de esta parte del codigo pero no me sale, por cierto que en la parte del formulario aunque no pongas datos solo aparecen las alarmas pero aun asi se envia el array. alguna peque;a ayuda compadre? te lo agradeceria , aun asi trato de decifrar tu tecnica, estoy leyendo mucho pero estoy batallando esque soy pichon.

      Eliminar
    4. Hola, si, estoy utilizando la misma clase estudiantes.php y de a poco he ido agregando los objetos como es el caso de add_estudiantes. Si esta enviando el array con los valores vía POST y GET y te los imprime en pantalla vas bien, habría que mirar la clase como tal, necesito mas información para poder ayudarte.

      Eliminar
  3. Revisaste las entradas anteriores?

    ResponderEliminar
  4. Hace falta codigo en una de las imagenes

    ResponderEliminar
  5. Muy buenas Noches
    Mi querido y respetado ingeniero. es que estoy varado en la parte de ponerle el codigo a la clase de estudiantes.php.
    me podrias explicar con mas detalles los pasos en esta parte numero 2.

    que pena mi querido amigo pero esque le he dado por todos lados y no me ha salido de verdad te agradessco que me colabores tengo plazo de solo una semana por favor ayudame............. urgente..........

    ResponderEliminar
    Respuestas
    1. Regalame tu correo para pasarte como debe quedar la clase estudiantes.php

      Eliminar
    2. mis correos son (www.alejandro.net@gmail.com) y (www.santiago.net@hotmail.com), mi amigo le agradezco por su colaboracion QUE DIOS LE BENDIGA....... De este programa depende mi carrera por eso estoy afanado...............

      Eliminar
    3. Listo, ya te lo mandé. Éxitos con tu proyecto.

      Eliminar
  6. mi querido amigo me sigue apareciendo un error con la clase estudiantes
    este es el mensaje que sale:

    Conectado satisfactoriamente
    Fatal error: Class 'Estudiante' not found in C:\xampp\htdocs\aprendizajephp\add_estudiante.php on line 5

    Que pena mi amigo disculpame, por las molestias........

    ResponderEliminar
    Respuestas
    1. Diego yo tengo el mismo problema alguna sujerencia?

      Eliminar
  7. Conectado satisfactoriamente
    Fatal error: Class 'conectar' not found in C:\xampp\htdocs\aprendizajephp\clases\estudiantes.php on line 38

    ahora este es el error

    ResponderEliminar
  8. Conectado satisfactoriamente
    NUEVO REGISTRO

    INGRESE LOS DATOS DEL PRODUCTO
    IDENTIFICACION
    NOMBRE COMPLETO
    TELEFONO

    EL ESTUDIANTE NO PUDO SER CREADO

    mi amigazo he ido corrigiendo errores pero ahora no me ingresa los estudiantes que me habra quedado mal, le agradezco su colaboracion..........

    ResponderEliminar
    Respuestas
    1. Haz esto, en el objeto add_estudiantes de la clase estudiantes.php coloca esto echo $sql; debajo de $sql = "INSERT INTO estudiantes (idestudiante, nombre_completo, telefono) VALUES ('$id','$nombre','$telefono')"; luego comentas el if para que no te redireccione y el echo te arrojara en pantalla el query, pegalo y ejecutalo directamente en mysql para ver si te esta generando un error de insercion

      Eliminar
    2. mi amigazo sabes que le voy a enviar los archivos para que los revices, necesito porfavor que me colabores estoy muy ponchado y me imagino que debe ser una simplesa........... pero necesito la ayuda de un experto en el tema.. MUCHISIMAS GRACIAS POR SU PACIENCIA......... ya le envie a su correo los archivos........ gracias

      Eliminar
    3. Listo encontré el detalle, todo estaba bien lo unico que te hacia falta en la clase conectar es seleccionar con que base de datos vas a trabajar. Agrega en la clase conectar esto: mysql_select_db("aprendizajephp"); debajo de $conexion = mysql_connect('localhost', 'root', '');

      Prueba y me avisas

      Eliminar
    4. mi querido amigazo, muchisimas gracias por esa solucion, efectiva netamente excelente QUE DIOS LE BENDIGA MAS EN SUS CONOCIMIENTOS...... Voy a continuar con el CRUD.

      Eliminar
    5. Me alegra saber que este Blog ha sido de ayuda para tus proyectos académicos, gracias por seguirme y espero seguir aportándote a ti y a todos aquellos que quieran aprender sobre este lenguaje.

      Eliminar
  9. Hola Walter, tengo un problema con mi codigo... He venido haciendo todo tal cual lo explicas en tu tutorial pero en este punto no logro que al darle al boton Äceptar", haga algo... No me da ningun error, es como si no tomara en cuanta el codigo PHP.. Me podrías ayuda?r

    ResponderEliminar
  10. Buenas tardes Juli.
    Primero revisa que tengas agregado el archivo javascript el cual contiene las funcion, en este caso de agregar un estudiante, mira tu codigo fuente e intenta abrir el .js, si lo encuentras entonces revisamos mas a fondo que puede ser

    ResponderEliminar