Skip to content

Programando en php como actualizar y eliminar registros en Mysql

noviembre 5, 2010

Estas programando en php tu primer base de datos y no sabes como actualizar y/o eliminar registros de tu base de datos, pues este articulo lo he escrito para enseñarte (con un lenguaje sencillo) como se desarrollan estas tareas a la hora de programar en php, así que si quieres aprender tienes que leer este articulo completo.

Aprenderás como se escriben las sentencias en SQL para modificar, eliminar y como se puede manipular esta información o tarea desde un formulario. Por ejemplo: si en tu escuela te encargaron el proyecto de una base de datos lo mas seguro es que tiene que efectuar las tareas como insertar, consultar, modificar y eliminar (las 4 tareas básicas de todas las bases de datos) , como insertar y consultar ya lo puedes aprender en los articulo anteriores. Modificar y eliminar lo aprenderás de forma sencilla en este articulo.

O bien, te solicitaron una rutina donde puedas consultar algún dato y luego hacerle una modificación como alguien que estaba activo y ahora hay que pasarlo a inactivo pero sin eliminar el registro de la base de datos o tal vez  se equivocaron en la calificación de alguien a la hora de capturar y hoy hay la necesidad de modificar dicha calificación. Ejemplos hay muchos así que mejor manos a la obra.

Como siempre explico primero el contexto, estamos trabajando con un archivo que ya ejecuta una consulta que nos devuelve un registro y lo muestra en el formulario que se llama “tareas.php” y que se puede ver en la siguiente imagen.

 

NOTA: La consulta y posteriormente la modificación y/o eliminación la ejecuta a una base de datos llamada “almacen” y a una tabla llamada “productos”. Recuerda leer los artículos anteriores.

Ahora creamos un archivo que llamaremos “ejecuta.php” que será el encargado de realizar los procesos. Le escribimos el siguiente código en él esta comentado (para evitar confusiones solo explicare las partes mas complicadas).

<?php

/****************************************************

Para conectarnos con el mysql y la base de datos */

$con = mysql_connect(“HOSTt”,”USUARIO”,”PASSWORD”);

if(! $con){ die (“ERROR CONEXION MYSQL: ” . mysql_error());}

$db= mysql_select_db(“almacen”,$con);

if (! $db){die (“ERROR CONEXION BD: ” . mysql_error());}

/*********************************************************

**********************************************************/

/* verificamos si selecciono eliminar */

if ($_POST[‘radio’]==’elim’){

//sentencia sql para eliminar

$sql = “DELETE FROM productos WHERE codigo='”.$_POST[‘codigo’].”‘”;

$result = mysql_query($sql);

if (! $result){die (‘ERROR AL ELIMINAR EL REGISTRO’. mysql_error());}

else{echo “REGISTRO ELIMINADO CON EXITO”;}

}

/* verificamos si selecciono modificar */

if ($_POST[‘radio’]==’mod’){

//sentencia sql para modificar

$sql = “UPDATE productos SET codigo='”.$_POST[‘codigo’].”‘, nombre='”.$_POST[‘nombre’].”‘, precio=”.$_POST[‘precio’].”, existencia=”.$_POST[‘existencia’];

$result = mysql_query($sql);

if (! $result){die (‘ERROR AL MODIFICAR EL REGISTRO’. mysql_error());}

else{echo “MODIFICACION EXITOSA”;}

}

?>

 

Si quieres descargar el ejemplo lo puedes hacer dando clik aquí. Y recuerda para aprender hay que practicar, así que no lo dejes para después si llegaste hasta aquí es porque quieres aprender y repito si quieres aprender PRACTICA, así que descarga el ejemplo, y modifícalo para que veas los resultados y así puedes aprender a programar en php, mas rápido.

Espero te haya servido este artículo, y espero tus comentarios, dime que se te dificulta, que te frusta a la hora de aprender a programar en php, o bien que buscas en un tutorial de php. Yo estare leyendo los comentarios y contestándolos personalmente.

Atte, tu amigo.
Salvador López

 

11 comentarios
  1. gerson tarazona diaz permalink

    gracias por su aporte pero realmente esa baina no funciona, ni elimina ni modifica, no suba bainas que no sirven

  2. Gaby permalink

    Hola primero q todo Gracias x tu iniciativa de ayudar a los q no somos muy expertos q digamos en esto de la programacion.. yo estoy en mis pasantias y de verdad no es mucha la ayuda q tengo aca en la empresa… Bueno el caso es el siguiente, dentro de muchas de mis dudas.. ahorita necesito q el programa me modifique y me elimine, me explico, hago una busqueda x codigo de producto y cuando me lo muestra tengo un boton llamas “Desincorporar” la idea es darle clic y me elimine de mi inventario ese producto… pero de verdad q he intendado y no me da.. lo mismo es para modificar, luego de hacer la busqueda, modifico los campos pero cuando le doy al boton de guardar no me guarda ese cambio. Graciassssssssss x tu ayuda…

    Trabajo con php, y msql

  3. mauricio cangrejo permalink

    hola como estas lo que psa es que quiero estoy creando un formulario pero no se como insertar tu codigo de eliminar i modificar en micodigo me ayudarias mucho en mi investigacion esta es el codigo que tengo hasta el momento me gustari auq eme dieras tu correo para enviarte le archivo para que lo ejecutes y asi me puedas colbaorar gracias por tu atencion

  4. alice permalink

    hola gracias por compartir tus conocimientos, estoy utilizando tu codigo, pero me da el siguiente error:”ERROR AL MODIFICAR EL REGISTROYou have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘ direccion=’ at line 1″, tampoco me elimina el registro. estoy en pañales en cuanto a programacion y me restan solo un mes para presentar mi tesis de modo que estoy desesperada! espero toda la ayuda que me puedas brindar, gracias.

  5. Juan permalink

    solo me elimina pero no me modifica

    • Hola Juan, primero gracias por tu visita ahora no sé si descargaste el ejemplo y ese solo elimina o si te refieres a que has implementado el código propuesto en esta página adecuado a tu proyecto. Pienso que tú caso es el segundo, porque para el primero revise el mismo material que deje para descargar y si me funcionó, si es así, necesitaría que me pusieras el código para poder ayudarte o bien que me expliques como tratas de modificar. Por cierto este ejemplo modifica todos los datos de la tabla, pero en este mismo blog tengo un articulo donde te explico como hacerlo solo para un registro, solo que en este momento cual es el link, pero esta en este mismo blog Atte: tu amigo Chava

  6. hola amigo tengo el siguiente problema en la modificacion me modifica todos los campos si digamos modifico solo un campo llamado edad me modifica los demas campos con el valor de edad

    • Tienes que delimitar los campos, esto lo puedes lograr con en el WHERE, algo asi “UPDATE tabla SET edad=”.$nuevo_valor.” WHERE identificador=.”$registro_a_afectar. Donde el identificador de preferencia es el campo llave (recuerda que es un valor único) y la variable $registro_a_afectar lleva el valor obviamente del registro que quieres cambiar su valor.

      Espero haberme explicado, pero igual en esta misma pagina esta otro ejemplo donde puedes ver como lograr esto. Perdón por contestar hasta hoy pero fue un fin de semana muy ajetreado.

  7. Joel permalink

    Hola que tal Salvador, Funciona muy bien tu trabajo, le he movido un poco a tu codigo para poder visualizar mas filas osea que se puedan ver mas datos contenidos en la base de datos, pero me he metido en un problema al querer modificar esos campos debido a que solo hay un boton ejecutar y cuando hago varios botones ejecutar me modifica todos los demas campos, te agradeceria mucho si me podrias orientar un poco, saludos.

    • Disculpa por la tardanza y haber si entendi, para que no te modifique todos los datos, puedes agregarle a la sentencia UPDATE la clausula de WHERE donde filtras lo información del que quieres modificar algo asi: UPDATE tabla SET campo=’nuevo valor’ WHERE id=$_POST[‘id’].
      Si quieres muestra un pedazo de código para poderte ayudar mejor, y muchas gracias por tu comentario y visita.

Deja un comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: