lunes, 25 de febrero de 2013

Ejemplo de Formulario: Capturar y guardar datos

FORMULARIO, PHP Y MYSQL

Hola que tal, les deseo un buen día.  Hoy vamos a escribir un programita que nos permitirá capturar datos (Nombre, Cargo, Sueldo y Bonificación) y luego los guardará en una base de datos, debo aclarar que en este programa voy a escribir la instrucción que permitirá crear esta base de datos en caso de que no exista.

Paso No. 1 - Usamos la sentencia if para mostrar el formulario.

<?
if(!$_POST) {
?>

Paso No. 2 - Hacemos el formulario en HTML

<form action="<? $_POST ?>" method=POST>
   Nombre: <input type=text name=nombre required /><br>
   Cargo: <input type=text name=cargo required /><br>
   Sueldo: <input type=text name=sueldo required /><br>
   Bonificación: <input type=text name=bono required /><br>
   <input type=submit value=Procesar />
</form>

Paso No. 3 - Asignación de variables con los datos del formulario.

<?
} else {
$nombre = $_POST['nombre'];
$cargo= $_POST['cargo'];
$sueldo= $_POST['sueldo'];
$bono = $_POST['bono'];

Paso No. 4 - Conectamos con el servidor y seleccionamos la base de datos (en este caso nuestra base de datos se llamará ejemplo y la tabla salarios.)

$db = mysql_connect("localhost", "root", "123456") or die ("No conectó con el servidor");

mysql_select_db("ejemplo") or die ("No se pudo seleccionar la base de datos ejemplo");

Paso No. 5 - Verificamos que la tabla salarios exista en la base y si no la creamos.


$tabla =  mysql_list_tables("ejemplo");
   $num_tabla = mysql_num_rows($tabla);
   $existe = "NO";
   
   for ($i=0; $i<$num_tabla; $i++) {
      if (mysql_tablename($tabla, $i) == "salarios") {
         $existe = "SI" ;
      }
   }
   if ($existe == "NO") {
      $tabla_nueva = "CREATE TABLE salarios (IdEmpleado INT(3) NOT NULL 
      AUTO_INCREMENT PRIMARY KEY, Nombre VARCHAR(35), Cargo VARCHAR(20), 
      Sueldo DOUBLE(6,2), Bonificacion DOUBLE(6,2), UNIQUE (IdEmpleado))";
      mysql_query($tabla_nueva);
   }

Paso No. 6 - Insertamos los datos en la tabla.

$insertar = "INSERT INTO salarios (Nombre, Cargo, Sueldo, Bonificacion) VALUES (
'$nombre', '$cargo', '$sueldo', '$bono')";
$resultado = mysql_query($insertar);

Paso No. 7 - Confirmamos que los datos hayan sido insertados y luego los mostramos.

if(!$resultado) {
   echo "No se guardaron datos, vuelva a intentarlo más tarde";
} else {
   echo "$nombre <br>$cargo <br>$sueldo <br>$bono<br>Los datos fueron guardados con 
   éxito";
}
}
?>

Eso es todo, como siempre les dejo el ejemplo para que lo prueben y deseo que todo salga bien. Hasta la próxima.



8 comentarios:

  1. graciasssssssssssssssssss

    ResponderEliminar
  2. muy buena pero por favor me podria explicar el Paso No. 1 - Usamos la sentencia if para mostrar el formulario. donde tiene que ir esa arte

    ResponderEliminar
  3. Gracias por su pregunta amigo(a), la sentencia if en mi ejemplo la coloco al inicio del script, de esta manera primero evalúo si se han ingresado datos o no, si la condición (if(!$_POST)) resulta verdadera, muestro el formulario y si es falso lo proceso. Básicamente quedaría asi:

    < ?
    if(!$_POST) {
    ? >
    aquí escribe código HTML del formulario
    <?
    } else {
    aquí escribe código PHP para procesar el formulario
    }

    Espero que le sirva.

    ResponderEliminar
  4. hola disculpa entonces como quedaria el codigo completo o la tengo q hacer en partes m podrias explicar porfa saludos,......soy royer.....

    ResponderEliminar
  5. hola estoy tratando de hacer un formulario que se vaya mostrando a medida que se va respondiendo

    ResponderEliminar
  6. Estimado usuario espero que no sea demasiado tarde, pero siempre dejo el comentario si alguien más puede ayudarle. La posibilidad de generar una actualización en tiempo real es posible, solo si le mezclas javascript, recuerda que php es un lenguaje del lado del servidor y para procesar los datos es necesario que dicho servidor los lance nuevamente al navegador. Con la ayuda de javascript es posible una actualización en tiempo real.

    ResponderEliminar
  7. hola es posible que se pueda realizar un formulario asi como que tu hiciste y ademas se incorpore el uso de arreglos, por ejemplo yo quiero capturar datos asi como los tuyos y despues agregarlos en un arreglo desplegandolo en una tabla junto con su link de eliminar de arreglo, pero claro que al dar click en eliminar la pagina se refrescaria para poder quitar el item del arreglo, en este refresh se perderian datos o seguirian en sus input asi como los tuyos???

    nose si me complique mucho, pero tengo input para informacion generica asi como la tuya y otros input que al rellenar y prsionar agregar se agregarian a un arreglo con opcion a eliminacion, y se podria mantenier la informacion de los primeros inputs

    ResponderEliminar
  8. Buen dia

    quisiera saber si sabe como exportar informacion de la base de datos y por medio de php imprimirlos en un formato pre-establesido de word

    ResponderEliminar