Regresar a la página www.ComoCrearTuWeb.com
Resultados 1 al 2 de 2

Tema: Actualizar y borrar datos mysql con PHP

  1. #1
    Recien Llegado! Pasaba por aquí...
    Fecha de Ingreso
    08 dic, 13
    Mensajes
    2
    Poder de Reputación
    0

    Actualizar y borrar datos mysql con PHP

    Hola.
    Tengo un problema necesito actualizar datos de varias tablas: guardo los datos con un formulario y luego se guardan en sus respectivas tablas el problema esta en que cuando quiero actualizar algun dato lo que hace es guardar un nuevo registro en vez de actualizar. Igualmente que se borren los datos de todas las tablas relacionadas.

    Espero me puedan ayudar.

    Aqui dejo el codigo donde esta el formulario donde se ven los datos a actualizar:

    <?php
    $id_personas=$_GET["id_personas"];
    if($id_personas){
    include("config.php");

    $entidades="personas a LEFT JOIN padece b ON a.id_personas=b.id_personas LEFT JOIN discapacidades c ON b.id_discapacidad=c.id_discapacidad ";

    $entidades.="LEFT JOIN profesiones d ON a.id_personas=d.id_personas LEFT JOIN estudios e ON d.id_estudios=e.id_estudios LEFT JOIN ocupaciones f ON a.id_ocupacion=f.id_ocupacion LEFT JOIN titulos h ON d.id_titulos=h.id_titulos ";

    $ssql=mysql_query("select a.cedula,a.nombres,a.apellidos,a.nacionalidad,a.fe cha_nac,a.sexo,a.edo_civil,a.telefono,c.id_discapa cidad,e.id_estudios,f.id_ocupacion,h.id_titulos from $entidades where a.id_personas='".$id_personas."'");

    $rsql=mysql_fetch_array($ssql,MYSQL_NUM);
    $cedula =$rsql[0];
    $nombres =$rsql[1];
    $apellidos =$rsql[2];
    $nacionalidad =$rsql[3];
    $fecha_nac =$rsql[4];
    $sexo =$rsql[5];
    $edo_civil =$rsql[6];
    $telefono =$rsql[7];
    $discapacidad =$rsql[8];
    $estudios =$rsql[9];
    $ocupacion =$rsql[10];
    $titulos =$rsql[11];
    $vboton ="Actualizar";
    }
    else
    $vboton ="Guardar";


    Y este es el codigo del archivo .PHP donde se procesan los datos:

    <?php
    include("config.php");

    $id_personas=$_POST["id_personas"];
    $cedula=$_POST["cedula"];
    $nombres=$_POST["nombres"];
    $apellidos=$_POST["apellidos"];
    $nacionalidad=$_POST["nacionalidad"];
    $fecha_nac=$_POST["anio"]."-".$_POST["mes"]."-".$_POST["dia"];
    $sexo=$_POST["sexo"];
    $edo_civil=$_POST["edo_civil"];
    $telefono=$_POST["telefono"];
    $estudios=$_POST["estudios"];
    $titulos=$_POST["titulos"];
    $ocupacion=$_POST["ocupaciones"];
    $discapacidad=$_POST["discapacidad"];
    $id_viviendas=$_POST["id_viviendas"];
    $id_eliminar=$_GET["id_eliminar"];
    $mensaje="Debe llenar todos los campos<a href='registro_habitantes.php'>VOLVER</a>";
    $mensaje2="Esta persona ya se encuentra registada en la Base de Datos<a href='registro_habitantes.php'>VOLVER</a>";

    $entidades="personas a LEFT JOIN padece b ON a.id_personas=b.id_personas LEFT JOIN discapacidades c ON b.id_discapacidad=c.id_discapacidad ";

    $entidades.="LEFT JOIN profesiones d ON a.id_personas=d.id_personas LEFT JOIN estudios e ON d.id_estudios=e.id_estudios LEFT JOIN ocupaciones f ON a.id_ocupacion=f.id_ocupacion LEFT JOIN titulos h ON d.id_titulos=h.id_titulos";

    if($id_eliminar){

    $ssql=mysql_query("delete from personas where id_personas='$id_eliminar'");
    }else{

    if($id_personas){

    $ssql=mysql_query("update $entidades set a.cedula='$cedula',a.nombres='$nombres',a.apellido s='$apellidos',a.nacionalidad'$nacionalidad',a.fec ha_nac='$fecha_nac',a.sexo='$sexo',a.edo_civil='$e do_civil',a.telefono='$telefono',c.id_discapacidad ='$discapacidad',e.id_estudios='$estudios',f.id_oc upacion='$ocupacion',h.id_titulos='$titulos' where a.id_personas='".$id_personas."' where d.id_personas='".$id_personas."' where b.id_personas='".$id_personas."'");

    while($row=mysql_fetch_array($ssql)) {

    $cedula=$row["cedula"];
    $nombres=$row["nombres"];
    $apellidos=$row["apellidos"];
    $nacionalidad=$row["nacionalidad"];
    $fecha_nac=$row["anio"]."-".$_POST["mes"]."-".$_POST["dia"];
    $sexo=$row["sexo"];
    $edo_civil=$row["edo_civil"];
    $telefono=$row["telefono"];
    $estudios=$row["estudios"];
    $titulos=$row["titulos"];
    $ocupacion=$row["ocupaciones"];
    $discapacidad=$row["discapacidad"];
    $id_titulos=$row["id_titulos"];
    $profesion=$row["profesion"];

    }

    }
    if(($nombres=="")||($cedula=="")){
    exit($mensaje);
    }
    //consulto si existe
    /*$ver=mysql_query("select id_personas from personas where cedula='$cedula'");
    $row=mysql_fetch_array($ver,MYSQL_NUM);
    if($row[0]){
    exit($mensaje2);*/
    //actualizo
    //$id_personas=$row[0];

    //}
    else{
    //guarda los datos de la persona y la ocupacion
    $result_o = mysql_query("SELECT * FROM ocupaciones WHERE id_ocupacion='$ocupacion'"); //Aqui condicionamos el id del campo que mostraste en el combo que se igual al al valor que se registro en el select para que sepa que campo almacenar
    while($row = mysql_fetch_array($result_o)) { //Volvemos a hacer el ciclo para que rescate el valor
    $valor_o = $row["id_ocupacion"];}

    $guardar_datos=mysql_query("insert into personas ( nombres, apellidos, nacionalidad, cedula, fecha_nac, sexo, edo_civil, telefono, id_ocupacion) values ('$nombres', '$apellidos', '$nacionalidad', '$cedula', '$fecha_nac','$sexo', '$edo_civil', '$telefono', '$valor_o')");

    $id_personas=mysql_insert_id();

    //guarda el nivel de estudios y eltitulo universitario

    $result_e = mysql_query("SELECT * FROM estudios WHERE id_estudios='$estudios'"); //Aqui condicionamos el id del campo que mostraste en el combo que se igual al al valor que se registro en el select para que sepa que campo almacenar
    while($row = mysql_fetch_array($result_e)) { //Volvemos a hacer el ciclo para que rescate el valor
    $valor_e = $row["id_estudios"];}

    $result_t = mysql_query("SELECT * FROM titulos WHERE id_titulos='$titulos'"); //Aqui condicionamos el id del campo que mostraste en el combo que se igual al al valor que se registro en el select para que sepa que campo almacenar
    while($row = mysql_fetch_array($result_t)) { //Volvemos a hacer el ciclo para que rescate el valor
    $valor_t = $row["id_titulos"];}
    //Finalmente hacemos la insercion en otra tabla
    mysql_query("INSERT INTO profesiones(id_personas, id_titulos, id_estudios) VALUES ('".$id_personas."','".$valor_t."','".$valor_e."') "); //Aqui insertamos ya el nombre del campo seleccionado

    //guarda la discapacidad
    $result_d = mysql_query("SELECT * FROM discapacidades WHERE id_discapacidad='$discapacidad'"); //Aqui condicionamos el id del campo que mostraste en el combo que se igual al al valor que se registro en el select para que sepa que campo almacenar
    while($row = mysql_fetch_array($result_d)) { //Volvemos a hacer el ciclo para que rescate el valor
    $valor_d = $row["id_discapacidad"];}
    //Finalmente hacemos la insercion en otra tabla
    mysql_query("INSERT INTO padece(id_personas, id_discapacidad) VALUES ('".$id_personas."','".$valor_d."')"); //Aqui insertamos ya el nombre del campo seleccionado

    //guardamos a la vivienda que pertence
    $guardar2=mysql_query("insert into familias(id_personas,id_viviendas)values('".$id_pe rsonas."','".$id_viviendas."')");
    //echo("Los datos se guardaronKFKSJFHKSHFSFHSKHFKSFH");
    }
    }
    header("location:registro_habitantes.php?id_vivien das=".$id_viviendas);

  2. #2
    Esto empieza a ser un vicio... Habitante Avatar de paxarin
    Fecha de Ingreso
    03 nov, 09
    Ubicación
    Santa cruz de Bezana
    Mensajes
    646
    Poder de Reputación
    21
    La verdad que así a simple vista estaria correcto.
    Yo lo que hice alguna vez que me salian mal estas cosas ya que no soy ningun guru en esto.
    es dividirlo en varios php.
    Uno que grabe la información en la tabla de datos, otro que los actualice y un ultimo que los elimine, así seguro que das con el problema y sabras cual de ellos te podria estar crando ese conflicto.
    espero a verte ayudado en algo.

Temas Similares

  1. Actualizar registro de una base de datos
    Por ElwebHD en el foro Php Bases de Datos y MySQL (Nuevo!)
    Respuestas: 7
    Último Mensaje: 11/08/2014, 16:27
  2. no me agrega los datos a la base de datos en mysql
    Por debonaire en el foro Php Bases de Datos y MySQL (Nuevo!)
    Respuestas: 15
    Último Mensaje: 29/04/2012, 11:37
  3. no me agrega los datos a la base de datos en mysql
    Por debonaire en el foro Curso Paso a Paso con Html-Kit.
    Respuestas: 6
    Último Mensaje: 21/12/2011, 11:06
  4. borrar registro mysql
    Por satic77 en el foro Php Bases de Datos y MySQL (Nuevo!)
    Respuestas: 2
    Último Mensaje: 30/10/2009, 18:20

Permisos de Publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •