Foros del Web » Programando para Internet » PHP »

formulario de actualización de datos

Estas en el tema de formulario de actualización de datos en el foro de PHP en Foros del Web. Hola! Ya tengo la BD y la forma de ingreso de la info a través de él a la BD. Ahora necesito actualizar información, para ...
  #1 (permalink)  
Antiguo 23/01/2006, 17:12
 
Fecha de Ingreso: diciembre-2005
Ubicación: colombia
Mensajes: 24
Antigüedad: 18 años, 11 meses
Puntos: 0
formulario de actualización de datos

Hola! Ya tengo la BD y la forma de ingreso de la info a través de él a la BD. Ahora necesito actualizar información, para lo cual quiero que se muestre el mismo formulario, pero que muestre los campos con la info q ya está registrada, y vacíos los q hacen falta (para así poder actualizar todas las tablas).. .
Cómo hago para hacer ésto??
  #2 (permalink)  
Antiguo 23/01/2006, 17:24
 
Fecha de Ingreso: enero-2006
Mensajes: 25
Antigüedad: 18 años, 10 meses
Puntos: 0
solo has un query de consulta antes a tu BD , y los campos que obtines los asignas a tu formaulario en su campo de value
__________________
Venloft
"Por que la vida se vive una vez, soy como soy.
no desperdicies el momento"

------------------------
MegaHost Mexico
  #3 (permalink)  
Antiguo 23/01/2006, 17:53
Avatar de dopon  
Fecha de Ingreso: julio-2005
Ubicación: Cucuta / Colombia
Mensajes: 493
Antigüedad: 19 años, 4 meses
Puntos: 1
yo siempre lo he hecho asi pero una vez que tenia un formulario con controles multiple tipo select radio buttons al aplicar el atributo checked y selected no se que pasaba pero parecia inmutado miraba el codigo fuente y ahi estaba
pero noe staba seleccionado lo que yo queria.

encontre una solucion mas practica , debido a que no necesitas insertar lineas en el formulario original de ingreso de datos , su unico detalle es que usa javascript, pero bueno aca te dejo

lo que hago es declarar un a funcion en javascript donde asigno valores a los campos del formulario

Código PHP:
function inicializar(){
javascript:window.parent.document.forms.partido.categoria.value="<?php echo $datos['categoria'];?>";
javascript:window.parent.document.forms.partido.jornada.value="<?php echo $datos['jornada'];?>";
javascript:window.parent.document.forms.partido.local.value="<?php echo $datos['local'];?>";
javascript:window.parent.document.forms.partido.visitante.value="<?php echo $datos['visitante'];?>";
javascript:window.parent.document.forms.partido.arbitro.value=<?php echo $datos['arbitro'];?>;
}
Y EN DONDE ESTE EL BODY

<body onLoad="javascript:inicializar();">
  #4 (permalink)  
Antiguo 26/01/2006, 16:43
 
Fecha de Ingreso: diciembre-2005
Ubicación: colombia
Mensajes: 24
Antigüedad: 18 años, 11 meses
Puntos: 0
codigo para actualizar datos

Estoy diseñando un formulario q muestre los datos q se han ingresado y estan guardados en la BD y q permita actualizar esa información (o modificarla)..
el código q tengo hasta ahora es:

Código PHP:
if ($HTTP_POST_VARS)
{        
    if (!empty($identificacion)) 
    {
        /*$identificacion, $nombre, $apellidos, $fecha_naci, $sexo, $no_libreta, $gestante, $lactante, $departamento, $municipio*/

        $consulta = "SELECT (identificacion, nombre, apellidos, fecha_naci, sexo, no_libreta, gestante, lactante, departamento, municipio) FROM Persona WHERE identificacion='$identificacion'";
        $resultado = mysql_query($consulta,$conexion);
        $fila = mysql_fetch_row ($resultado);
        if ($fila)
        {        
            ?>
            <td width='85%'align='middle'  height='90%' valign='top'>
                <table width='100%' border='0' cellspacing='0' cellpadding='2'>
                <font face="Tw Cen MT Condensed Extra Bold" color='#000000' size="3">
            <FORM name='ActPersona' METHOD='POST' action='<?$_SERVER['PHP_SELF']?>'>
                <table border=4 BGCOLOR='#DBEAF5'>
                <TD></TD><tr><td> <U> <B><font face="Tw Cen MT Condensed " color="#000000" size="4">DATOS GENERALES</B></U></TD></TR>  
                <tr><td> Identificacion</TD><TD><INPUT TYPE='TEXT' NAME='identificacion' SIZE=15 value=<? echo $identificacion;?>>
                <td>Tipo Documento<td><select NAME='tipo_doc' value= <? echo $tipo_doc;?>> <option value=CC>CC</option> <option value=TI>TI</option> <option value=Registro Civil>Registro Civil</option> <option value=Libreta Militar>Libreta Militar</option><option value=Sin Documento>Sin Documento</option></tr>
                <tr><td> Nombre</TD><TD><INPUT TYPE='TEXT' NAME='nombre' SIZE=30 value= <? echo $nombre;?>> </tr>
                <tr><td> Apellidos</TD><TD><INPUT TYPE='TEXT' NAME='apellidos' SIZE=45 value= <? echo $apellidos;?>>
                <td> Fecha de Nacimiento</TD><TD><INPUT TYPE='TEXT' NAME="fecha_naci" SIZE=8 value=<? echo $fecha_naci;?>> </TR>
                        
                <tr><td>Sexo<td><select NAME='sexo' value=<? echo $sexo;?> <option value=Femenino>Femenino</option> <option value=Masculino>Masculino</option>
                <td> Libreta Militar</TD><TD><INPUT TYPE='TEXT' NAME='no_libreta' ID='no_libreta' SIZE=10 value= <? echo $no_libreta;?>></TR>
                <tr><td>Gestante<td><select NAME='gestante' value= <? echo $gestante;?>><option ></option><option value=Si>Si</option> <option value=No>No</option>
                <td>Lactante<td><select NAME='lactante' value=<? echo $lactante;?>> <option ></option><option value=Si>Si</option> <option value=No>No</option></tr>
                <tr><td>Dpto. Procedencia<td><select NAME='departamento' value=<? echo $departamento;?>> <option ></option> <option value=ANTIOQUIA>ANTIOQUIA</option> <option value=ATLANTICO>ATLANTICO</option>  </tr>
                <td> Municipio</TD><TD><INPUT TYPE='TEXT' NAME='municipio' SIZE=35 value=<? echo $municipio;?>></TR>
            <?
        
}else
        {                
            echo 
"<b> Id: $identificacion,";
        }
    }
}else
{
    
?>
    </TD>
    <td width='85%'align='middle'  height='90%' valign='top'>
        <table width='100%' border='0' cellspacing='0' cellpadding='2'>
        <font face="Tw Cen MT Condensed Extra Bold" color='#000000' size="3">
        <body>
        <form name='buscar' method= "POST" action='<?$_SERVER['PHP_SELF']?>'>
        <strong>Ingrese Identificación:</strong>
        <input type="text" name="identificacion" size="20">
        <input type="submit" value="Buscar">
        </form>
    <?php 
}
?>

    <table><TR><TD><center> <INPUT TYPE='SUBMIT'  NAME='registrar' VALUE='Registrar'></td>
    <TD> <INPUT TYPE='submit'  NAME='actualizar' VALUE='Actualizar'></TD>
    <TD> <INPUT TYPE='reset'  NAME='borrar' VALUE='Borrar'></center></TD></TR></table></FONT>
    </TABLE>
    <TR><BR></tr>
                
    </FORM> 
    </TD>
El problema es q no me aparece la información guardada en cada campo, aparece un error...
cuál es el error??
  #5 (permalink)  
Antiguo 26/01/2006, 17:10
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años, 8 meses
Puntos: 33
Pregunta

¿Cual es el error que estas obteniendo?
  #6 (permalink)  
Antiguo 27/01/2006, 11:21
 
Fecha de Ingreso: diciembre-2005
Ubicación: colombia
Mensajes: 24
Antigüedad: 18 años, 11 meses
Puntos: 0
El error es q en el campo del formulario donde debería aparecer la información contenida en el campo.. aparece el nombre del campo tal y como lo pongo allí: <? $sexo;?> ..
???????????????????????
  #7 (permalink)  
Antiguo 27/01/2006, 11:22
 
Fecha de Ingreso: diciembre-2005
Ubicación: colombia
Mensajes: 24
Antigüedad: 18 años, 11 meses
Puntos: 0
lo único q se carga es la identificación.. q es el valor q yo ingreso de búsqueda..
  #8 (permalink)  
Antiguo 27/01/2006, 11:32
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años, 8 meses
Puntos: 33
De acuerdo

Para hacerlo de la forma que tu quieres tiene que modificadar lo siguiente:

Código PHP:
 $fila mysql_fetch_row ($resultado); 
//por
$fila mysql_fetch_array ($resultado); 
//en los campos correspondientes 
echo fila["iidentificacion"];
echo 
fila["nombre"];
.
.

  #9 (permalink)  
Antiguo 27/01/2006, 16:48
 
Fecha de Ingreso: diciembre-2005
Ubicación: colombia
Mensajes: 24
Antigüedad: 18 años, 11 meses
Puntos: 0
voy a ensayar y le contaré después..
gracias!
  #10 (permalink)  
Antiguo 27/01/2006, 17:05
 
Fecha de Ingreso: diciembre-2005
Ubicación: colombia
Mensajes: 24
Antigüedad: 18 años, 11 meses
Puntos: 0
generar edad a partir de fecha

Luego de tener guardada una fecha de nacimiento en un campo de la BD, como genero la edad de la persona comparando con la fecha actual (current_date) ??????
y poder mostrarlo en una tabla de resultados en una consulta??
  #11 (permalink)  
Antiguo 27/01/2006, 19:26
 
Fecha de Ingreso: octubre-2005
Ubicación: Puno - Perú
Mensajes: 4
Antigüedad: 19 años, 1 mes
Puntos: 0
Hola amigo:
hay varios metodos para hacer lo que pides en este caso para hallar la edad, una forma podria ser con un script en PHP o desde el mismo MySQL, aqui te envio un ejemplo

tienes una tabla llamada FECHA con el campo NACIMIENTO de tipo date, ya ingresas un registro 1986/07/11,

haces una consulta en este caso seria asi para averiguar la edad

select (year(current_date())-year(NACIMIENTO))-(right(current_date(),5)<right(NACIMIENTO,5)) as edad from fecha;

bueno eso lo utilizas desde el php asi de sencillo, espero te haya servido, cualquier cosa no dudes en escribirme a julio_1986(arroba)hotmail.com o evilrasec(arroba)gmail.com
-------------------------------------
mentemaestra.net/foro
  #12 (permalink)  
Antiguo 31/01/2006, 10:18
 
Fecha de Ingreso: diciembre-2005
Ubicación: colombia
Mensajes: 24
Antigüedad: 18 años, 11 meses
Puntos: 0
formulario de actualización mejorado

Hola! Ya tengo el formulario q me muestra la iinformación guardada en los campos de la BD.. ahora quiero q al cambiar alguna de esa información y oprimir el botón actualizar, se guarde en la bD y se reescriban los datos guardados.. de esa forma sí sería formulario de actualización...
El problema es q no me guarda.. y me dice q la variable de buscar y actualizar son desconocidas... no sé qué pasa..
??????????

El código es el sgte:

Código PHP:
if ($HTTP_POST_VARS)
{    
    foreach($_POST as $varName => $value)
    {        
        trim($value);
    }
    if ($buscar) 
    {
        $consulta = "SELECT * FROM persona, ayuda_urgencia WHERE identificacion LIKE '%$buscar%'";
        $resultado = mysql_query($consulta, $conexion);
        $fila = mysql_fetch_array ($resultado);
        if ($fila)
        {        
                        
        // SI PRESIONA ACTUALIZAR (GUARDA INFORMACIÓN ADICIONAL, ACTUALIZAR 
        if ($actualizar) 
        {                
            $resultado1=mysql_query("SELECT * FROM persona, ayuda_urgencia WHERE identificacion='$identificacion' AND  PERSONA_identificacion='$identificacion'",$conexion);
            if(mysql_fetch_array($resultado1))
                {
                    $fechaN = explode('-', $fecha_naci);
                    $ordenN = array_reverse($fechaN);
                    $nueva_fechaN = implode('-', $ordenN);

                    $fechaL = explode('-', $llegada_muni);
                    $ordenL = array_reverse($fechaL);
                    $nueva_fechaL = implode('-', $ordenL);

                    $fechaT = explode('-', $taller_1vez);
                    $ordenT = array_reverse($fechaT);
                    $nueva_fechaT = implode('-', $ordenT);

                    $actualizar="UPDATE persona P, ayuda_urgencia U SET P.identificacion='$identificacion', P.tipo_doc='$tipo_doc', P.nombre='$nombre', P.apellidos='$apellidos', P.fecha_naci='$fecha_naci', P.sexo='$sexo', P.no_libreta='$no_libreta', P.gestante='$gestante', P.lactante='$lactante', P.departamento='$departamento', P.municipio='$municipio', U.PERSONA_identificacion='$identificacion', U.fecha_entrega_ayudaU='$fecha_entrega_ayudaU'";
                    mysql_query($actualizar,$conexion);    
                    $error1=mysql_error();
                    if (!mysql_error()) 
                    {
                        include ("registroOK.php");
                        echo "Actualización OK";                
                    }else
                    {
                        //include ("error_ingresar.php");
                        echo $error1;
                        echo "Error en Actualización";
                    }
                }                
            }        
                        
            ?>
            <td width='85%'align='middle'  height='90%' valign='top'>
                <table width='100%' border='0' cellspacing='0' cellpadding='2'>
                <font face="Tw Cen MT Condensed Extra Bold" color='#000000' size="3">
            <FORM name='ActPersona' METHOD='POST' action='<?$_SERVER['PHP_SELF']?>'>
                <table border=4 BGCOLOR='#DBEAF5'>
                <TD></TD><tr><td> <U> <B><font face="Tw Cen MT Condensed " color="#000000" size="4">DATOS GENERALES</B></U></TD></TR>  
                <tr><td> Identificacion</TD><TD><INPUT TYPE='TEXT' NAME='identificacion' SIZE=15 value= <? echo $buscar;?>>
                <td>Tipo Documento<td><select NAME='tipo_doc' value=<? echo $fila['tipo_doc']?>> <option value=CC>CC</option> <option value=TI>TI</option> <option value=Registro Civil>Registro Civil</option> <option value=Libreta Militar>Libreta Militar</option><option value=Sin Documento>Sin Documento</option></tr>
                <tr><td> Nombre</TD><TD><INPUT TYPE='TEXT' NAME='nombre' SIZE=30 value= <? echo $fila['nombre'];?>> </tr>
                <tr><td> Apellidos</TD><TD><INPUT TYPE='TEXT' NAME='apellidos' SIZE=45 value= <? echo $fila['apellidos'];?>>
                <td> Fecha de Nacimiento</TD><TD><INPUT TYPE='TEXT' NAME="fecha_naci" SIZE=8 value=<? echo $fila['fecha_naci'];?>> </TR>
                        
                <tr><td>Sexo<td><select NAME='sexo' value=<? echo $fila['sexo'];?> > <option value=Femenino>Femenino</option> <option value=Masculino>Masculino</option>
                <td> Libreta Militar</TD><TD><INPUT TYPE='TEXT' NAME='no_libreta' SIZE=10 value= <? echo $fila['no_libreta'];?>></TR>
                <tr><td>Gestante<td><select NAME='gestante' value= <? echo $fila['gestante'];?>><option ></option><option value=Si>Si</option> <option value=No>No</option>
                <td>Lactante<td><select NAME='lactante' value=<? echo $fila['lactante'];?>> <option ></option><option value=Si>Si</option> <option value=No>No</option></tr>
                <tr><td>Dpto. Procedencia<td><select NAME='departamento' value=<? echo $fila['departamento'];?>> <option ></option> <option value=ANTIOQUIA>ANTIOQUIA</option> <option value=ATLANTICO>ATLANTICO</option> </tr>
                <td> Municipio</TD><TD><INPUT TYPE='TEXT' NAME='municipio' SIZE=35 value=<? echo $fila['municipio'];?>></TR>                        
                                <tr><td>Fecha Entrega <TD><INPUT TYPE='TEXT' NAME='fecha_entrega_ayudaU' SIZE=8 value=<? echo $fila['fecha_entrega_ayudaU'];?>> <a href="javascript:cal4.popup();"> <img src="IMG/cal.gif" width="14" height="14" border="0" alt="Click Aquí para escoger la fecha"></a>  
                <td>Entidad Operadora</TD><td> <INPUT TYPE='TEXT' NAME="entidad_urgencia" SIZE=30 value=""> </TR>                            
</FORM> 
</TD>
<?
}else
{                
    echo 
'<script>alert("No Existe");</script>';
    }
}
    echo 
"<p><a href=ActPersona.php>Volver</p> \n"
    echo 
"</TBODY></TABLE> \n"

}else
{
    
?>
    </TD>
    <td width='85%'align='middle'  height='90%' valign='top'>
        <table width='100%' border='0' cellspacing='0' cellpadding='2'>
        <font face="Tw Cen MT Condensed Extra Bold" color='#000000' size="3">
        <body>
        <form name='buscar' method= "POST" action='<?$_SERVER['PHP_SELF']?>'>
        <strong>Ingrese Identificación:</strong>
        <input type="text" name="buscar" size="20">
        <input type="submit" value="Buscar">
        </form>
    <?php 
}
?>


Otro problema es q en los campos tipo SELECT, no me muestra el valor q está guardado en la BD.. como en los campos TEXT, a pesar de tener la misma instrucción...

ALGUIEN ME PUEDE AYUDAR??
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:05.