martes, 4 de noviembre de 2014

PHP (09) BBDD (05) Modificando datos

Ya sabemos mostrar los datos por pantalla, de hecho sabemos incluso como introducirlos desde un formulario, pero ¿que ocurre si tenemos que modificar algún dato? nuestro contacto puede cambiar de mail, de teléfono... o puede que lo que se muestra es la cantidad de un producto que tenemos...
Para ello tenemos que modificar los datos, y es tan sencillo como lanzar la consulta pertinente y seguir los pasos de siempre.

Nota: Si necesitamos ayuda con nuestras consultas SQL se puede realizar la acción de manera gráfica en phpMyAdmin y este nos muestra la consulta realizada.

En nuestro caso vamos a suponer que nuestro contacto Jose ha cambiado de número de teléfono, y para cambiarlo vamos a utilizar la siguiente consulta:
$query = "UPDATE personas SET telefono = '333333333' WHERE nombre = 'jose'";

De modo que nuestro plugin quedaría de la siguiente forma, para mostrar el cambio:
<?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
            $id=$row['id'];
            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
    }

function modificar()
 {
  //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 = "UPDATE personas SET telefono = '333333333' WHERE nombre = 'jose'";
  $result = mysql_query($query) or die ('la consulta falló' . mysql_error());
  mysql_close($conexion);//cierre de la conexion al servidor
 }

echo '<h2>Antes de realizar el cambio</h2>';
mostrar();
echo '<h2>Despues de realizar el cambio</h2>';
modificar();
mostrar();

?>

Lo cual nos da como resultado:

Antes de realizar el cambio

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

Despues de realizar el cambio

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

Podemos ver como ha cambiado el número de teléfono de Jose de forma muy sencilla, de hecho podríamos hacer que se pueda hacer por un formulario si quisiéramos, obteniendo el nuevo dato, como veremos en el próximo proyecto.

No hay comentarios:

Publicar un comentario