lunes, 3 de noviembre de 2014

PHP (09) BBDD (04) Introduciendo nuevos datos

Ahora que ya sabemos como se pueden mostrar los datos de nuestra base de datos por pantalla, podemos intuir como introducirlos,tan solo hay que cambiar nuestra consulta a lanzar por la siguiente:
$query = "insert into personas (nombre,telefono,email) values ('Antonio','5555555555','email@email.com')";
$result = mysql_query($query) or die ('la consulta falló' . mysql_error());

Vemos que lo único que hemos hecho ha sido cambiar la consulta de muestra por una consulta de insertar valores, aunque tenemos que introducir los valores a través del programa, algo realmente poco eficaz, ya que el usuario de nuestra aplicación no puede ni debe entrar en el código, de modo que se puede crear un formulario como el siguiente:
<html>
 <head>
  <title>Uso de una página para aceptar y procesar datos</title>
 </head>
 <body>
  <h1>Agenda</h1>
   <form method="post" action="conexion.php" >
    <p>Introduzca nombre
    <input name="nombre" type="text" required></p>
    <p>Introduzca telefono
    <input name="telefono" type="text" required></p>
    <p>Introduzca email
    <input name="email" type="email" required></p>
    <input type="submit" value=Enviar>
   </form>
 </body>
</html>

El cual envía los datos a un archivo llamado conexión y que puede ser similar al que podemos ver abajo, en el cual vemos que ya vamos introduciendo las acciones de interacción con la base de datos en funciones para que nos resulte más sencillo trabajar con ella.
<?php

//funcion que muestra los datos en una tabla
function mostrar()
 {
  //conexion a la base de datos
  $conexion = mysql_connect("localhost","root","") or die ('No se ha podido conectar al servidor');
  $db = mysql_select_db("agenda", $conexion) or die ('No se ha podido conectar a la base de datos');
  //preparación y lanzamiento de la consulta a la base de datos
  $query = 'SELECT * FROM personas';
  $result = mysql_query($query) or die ('la consulta falló' . mysql_error());

  //presentación de los datos en una tabla
  echo '<table border=2>
              <tr>
                  <td>Nombre</td><td>telefono</td><td>Email</td></tr>';
      while ($row=mysql_fetch_array($result)) { //Bucle para ver todos los registros
            $nombre=$row['nombre']; //datos del campo nombre
            $telefono=$row['telefono']; //datos del campo teléfono
            $email=$row['email']; //datos del campo email
            echo "<tr><td>$nombre</td> <td>$telefono</td> <td>$email</td></tr>"; //visualizar datos
            }
      echo '</table>';
      mysql_close($conexion);//cierre de la conexion al servidor
    }


//Funcion que introduce datos desde un formulario en la base de datos
function introducir()
 {
  //recogida de los datos desde un formulario 
  $nombre = $_POST['nombre'];
  $telefono = $_POST['telefono'];
  $email = $_POST['email'];
  //conexion a la base de datos
  $conexion = mysql_connect("localhost","root","") or die ('No se ha podido conectar al servidor');
  $db = mysql_select_db("agenda", $conexion) or die ('No se ha podido conectar a la base de datos');
  //lanzando la consulta
  $query = "insert into personas (nombre,telefono,email) values ('$nombre','$telefono','$email')";
  $result = mysql_query($query) or die ('la consulta falló' . mysql_error());
  mysql_close($conexion);//cierre de la conexion al servidor
 }

echo '<h2>Antes de introducir los datos</h2>';
mostrar();
echo '<h2>Despues de introducir los datos</h2>';
introducir();
mostrar();

?>

Como se observa, la función introducir(), recoge los datos desde el formulario en variables que son las que luego utilizaremos como los values de la consulta, funcionando de la siguiente forma, tras introducir los datos en el formulario:

Antes de introducir los datos

NombretelefonoEmail
miguel 123456789 miguel.a.torralba@gmail.com

Despues de introducir los datos

NombretelefonoEmail
miguel 123456789 miguel.a.torralba@gmail.com
Jose 222222222 jose@email.com

Como puede observarse todo muy sencillo, iremos viendo como se hacen cambios, como se muestran las ids, como se borran elementos... y haremos una aplicación sencilla que controle una agenda personal como proyecto de este tema.

No hay comentarios:

Publicar un comentario