Marcofbb Noticias y Artículos Webmasters



Publicidad marcored

MySQL - Editar Registros

  • 26/03/2011
  • 6:34 pm
  • marcofbb

En esta clase vamos a ver como Editar Registros en la Base de Datos, como ejemplo vamos a seguir utilizando una agenda.

Para editar los datos guardados en nuestras tablas utilizamos la sentencia UPDATE explicada en Introduccion a SQL.

El proceso mostrara primero un formulario con los datos que tenemos guardados, luego el usuario puede modificar los datos y enviar el formulario. Al recibir los datos desde el formulario creamos una consulta SQL y lo enviamos a MySQL con la función mysql_query.

Consultado a la MySQL

En este paso vamos a obtener los datos del registro seleccionado, para ello utilizamos como filtro el identificador del registro el cual lo estamos pasando como parámetro GET.

// Definimos el ID de la persona a editar.
$id = htmlentities($_GET['id']);
// Hacemos el filtrado, y consulta.
$sql = "SELECT * FROM personas WHERE id='".$id."' LIMIT 1";
$query = mysql_query($sql,$link);
$row = mysql_fetch_assoc($query);

Para entender este prosedimiento tienen que aver leido las clases anteriores. En el cual explicamos cada paso y explicamos de donde obtenemos el id.

Mostrando datos

Con la consulta y el filtrado del paso anterior va a devolver los datos de cuya persona tenga el parámetro enviado vía GET

          <form action="editar.php?id=<?=$id?>" method="post" >
	  <strong>Nombre</strong>
          <input type="text" name="nombre" value="<?=$row['nombre']?>" />
          <strong>Teléfono</strong>
          <input type="text" name="telefono" id="telefono" value="<?=$row['telefono']?>" />
          <strong>Dirección</strong>
          <input type="text" name="direccion" id="direccion" value="<?=$row['direccion']?>" />
          <strong>Foto</strong>
          <input type="text" name="foto" id="foto" value="<?=$row['foto']?>" />
		  <input type="submit" name="agendar" value="Editar" />
        </form>

En el formulario va a parecer inputs con los datos obtenidos de la consulta, en el cual se puede editar y cuando finalizemos apretamos el boton Editar y hará una actualización ( UPDATE ) a los datos de nuestra persona.

Editando los datos

Este paso es el siguiente después de apretar el boton Editar

if($_POST['agendar'])
{
	// Verificamos que no alla ningun dato sin rellenar.
	if(!empty($_POST['nombre']) || !empty($_POST['telefono']) || !empty($_POST['direccion']))
	{
		// Pasamos los datos de los POST a Variables, y le ponemos seguridad.
		$nombre = htmlentities($_POST['nombre']);
		$telefono = htmlentities($_POST['telefono']);
		$direccion = htmlentities($_POST['direccion']);
		$foto = htmlentities($_POST['foto']);
		// Insertamos los datos en la base de datos, si da algun error lo muestra. 
		$sql = "UPDATE personas SET nombre='".$nombre."', telefono='".$telefono."', direccion='".$direccion."', foto='".$foto."' WHERE id='".$id."'";
		mysql_query($sql,$link) or die(mysql_error());
		// Mostramos un mensaje diciendo que todo salio como lo esperado
		$msg = "Persona editada correctamente";
	} else { 
		// Si hay un dato sin rellenar mostramos el siguiente texto.
		$msg = "Falta rellenar algun dato"; 
	}
}

Lo que hace este código php es verificar que se apreto el boton Editar y tambien comprobar que los inputs no esten vacíos. Tambien le pone un poco de seguridad, para evitar inyecciones. Una vez que los 2 if nos dio como resultado true, actualiza los datos de la persona a editar.

Esta clase esta asociada con el archivo editar.php

Hilo donde están todos los artículos para aprender PHP

Descargar

Share

¿Necesitas ayuda? o ¿Asesoramiento webmaster? Registrate en nuestro foro de consultas

Posts Relacionados

Total de Comentarios: 7

Avatar
26/03/2011
6:35 pm

[...] Clase 1: Primeros pasos en PHP Clase 2: Variables y Constantes Clase 3: Estructura condicional (if/elseif/else) Clase 4: Tipos de bucles (while, Do while, for y foreach) Clase 5: Envío de datos de un formulario Clase 6: Vectores, Array, Arreglos en PHP Clase 7: Funciones en PHP Clase 8: Base de Datos Clase 9: MySQL – Crear conexión Clase 10: MySQL – Introducción SQL Clase 11: MySQL – Insertar datos Clase 12: MySQL – Consultar datos en MySQL Clase 13: MySQL – Editar registros [...]

Avatar
Diego
22/02/2012
4:46 pm

Estuve probando la modificación del resgistro, subi la base de datos con los campos

la base de datos la llamé personas al igual que la tabla personas

los campos (id,nombre,telefono,direccion,foto)

y pues al correr el index inserta correctamente

pero al realizar la consulta del registro a modificar ingreso el ID y no aparece nada

será que hay algun error en el archivo buscar.php?

estoy atento a respuesta gracias!! ya que necesito realizar la consulkta para la modificación de registro en mi proyecto 🙂

Avatar
19/04/2012
2:08 pm

Mira tengo una consulta, esto hace que modifiques todos los campos, pero si fuera necesario dejar por ejemplo la imagen y modificar el resto, como lo harias?

Yo use tu codigo pero hay ocasiones en donde no se requiere modificar la imagen solo los datos, entonces me pide que suba imagen porque no hay archivo, aun cuando le asigno el valor de la misma que tengo guardada en la base, me ayudan?

Gracias!!!!

Avatar
Luciano
04/06/2012
4:55 pm

Me tira este error

Parse error: syntax error, unexpected end of file in

en esta linea
<input type="text" name="email" value="" />

a que se debe?

Avatar
28/07/2012
1:10 pm

soy nuevo en php necesito saber como se hace un botn modificar y como utiliso un checkbox que cada ves que la persona le de al checkbox me los cuente para llevar un registro de cuenta persona son verificados en la tabla de finanza

Avatar
Gabriel Pinzon
25/03/2014
9:22 pm

tengo un duda apenas voy iniciando en el ramo de la programacion y si necesitara traer datos de un select en la cual tengo refencia de otra tabla????

    Avatar
    25/03/2014
    10:28 pm

    Hola Gabriel,
    Esto dices tu ?

    SELECT
    campo,
    campo,
    campo
    FROM
    tabla1 LEFT JOIN tabla2 ON ...
    INNER JOIN tabla3 ON ...
    WHERE
    tabla2.id IS NULL AND
    tabla3.id=1

    Saludos


Enviar Comentario

(*)

(*)