Foros del Web » Programando para Internet » PHP »

No consigo actualizar un registro

Estas en el tema de No consigo actualizar un registro en el foro de PHP en Foros del Web. A ver si me podeis hechar una mano porque no consigo poder actualizar un registro en la tabla de mi base de datos, la tabla ...
  #1 (permalink)  
Antiguo 09/01/2005, 11:44
mon
 
Fecha de Ingreso: febrero-2003
Mensajes: 506
Antigüedad: 21 años, 1 mes
Puntos: 0
No consigo actualizar un registro

A ver si me podeis hechar una mano porque no consigo poder actualizar un registro en la tabla de mi base de datos, la tabla se llama clientes, necesito poder actualizar el nombre, apellido 1, apellido 2, telefono etc...., recojo las variables que vienen de otra página, si hago un echo de cada una de ellas en esta las muestra correctamente, despues hago el update pero debo estar haciendo algo mal porque no consigo que me actualice ese registro en concreto, os pongo el código por si podeis ver algo raro que seguro que lo hay, gracias
Código PHP:
<?
   
//recojo las variables que vienen de otra página
      
$id=$HTTP_POST_VARS[id];
       
$fe=$HTTP_POST_VARS[fecha];
      
$ref=$HTTP_POST_VARS[referencia];
      
$n=$HTTP_POST_VARS[nombre];
      
$ap1=$HTTP_POST_VARS[apellido1];
      
$ap2=$HTTP_POST_VARS[apellido2];
      
$di=$HTTP_POST_VARS[direccion];
      
$t=$HTTP_POST_VARS[telefono];
      
$em=$HTTP_POST_VARS[email];
      
$des=$HTTP_POST_VARS[descripcion];
           


    
//conecto con la base de datos
include("conectobd.php");
// hago la actualización

    
$sql "UPDATE clientes SET fecha='$fe', referencia='$ref', nombre='$n', apellido1='$ap1', apellido2='$ap2', telefono='$te', email='$em', direccion='$di' WHERE id='$id'";

$result mysql_query($sql) ;
 



?>
     //uso el formulario de abajo para mostrar a la vez los datos que se 
    //actualizaron                   

<body>
<table width="648" align="center" cellpadding="0" cellspacing="0" bgcolor="#A6D9FF">
  <tr>
    <td><table align="center" cellpadding="0"  cellspacing="0">
      <tr>
        <td><img src="../Images/logotipo2/logotipo_01.gif" width="297" height="45"></td>
        <td><img src="../Images/logotipo2/logotipo_02.gif" width="333" height="45"></td>
      </tr>
      <tr>
        <td><img src="../Images/logotipo2/logotipo_03.gif" width="297" height="52"></td>
        <td><img src="../Images/logotipo2/logotipo_04.gif" width="333" height="52"></td>
      </tr>
    </table></td>
  </tr>
</table>
<table width="648" align="center" cellpadding="0" cellspacing="0" bgcolor="#A6D9FF">
  <tr>
    <td><form name="form1" method="post" action="">
      <table width="648" cellspacing="0" cellpadding="0">
        <tr>
          <td><table width="100%" align="center" cellpadding="0"  cellspacing="0">
            <tr>
              <td>&nbsp;</td>
              <td>&nbsp;</td>
              <td>&nbsp;</td>
              <td>&nbsp;</td>
              <td>&nbsp;</td>
              <td>&nbsp;</td>
              <td>&nbsp;</td>
            </tr>
            <tr>
              <td width="16%">C&oacute;digo cliente </td>
              <td width="6%"><input name="codigo_cliente" type="text" id="codigo_cliente" size="3" maxlength="5" value="<? echo $id ;?> "></td>
              <td width="17%"><div align="right">Nombre </div></td>
              <td width="24%"><div align="right">
                  <input name="nombre" type="text" id="nombre" value="<? echo $n ?> ">
              </div></td>
              <td width="11%">&nbsp;</td>
              <td width="7%">Fecha</td>
              <td width="19%"><input name="fecha" type="text" id="fecha" size="10" maxlength="10" value="<? echo $fe;?>"></td>
            </tr>
          </table>
            <br>
            <table width="100%"  cellspacing="0" cellpadding="0">
              <tr>
                <td width="17%">Ref. Inmueble </td>
                <td width="9%"><input name="referencia" type="text" id="referencia" value="<? echo $ref?> " size="8" maxlength="10"></td>
                <td width="1%">&nbsp;</td>
                <td width="13%"><div align="right">Apellidos</div></td>
                <td width="25%"><input name="apellido1" type="text" id="apellido1" value="<? echo $ap1?> "></td>
                <td width="35%"><input name="apellido2" type="text" id="apellido2" value="<? echo $ap2?> "></td>
              </tr>
          </table></td></tr>
        <tr>
          <td><table width="100%"  cellspacing="0" cellpadding="0">
            <tr>
              <td width="34%"><div align="right">Tel&eacute;fono</div></td>
              <td width="33%"><input name="telefono" type="text" id="telefono" size="10" maxlength="12" value="<? echo $t?> "></td>
              <td width="33%"><div align="right">Direcci&oacute;n</div></td>
              <td width="66%"><input name="direccion" type="text" id="direccion" size="40" value="<? echo $di?> "></td>
            </tr>
          </table></td>
        </tr>
        <tr>
          <td><table width="100%"  cellspacing="0" cellpadding="0">
            <tr>
              <td width="17%">Datos Inmueble</td>
              <td width="7%">&nbsp;</td>
              <td width="28%"><div align="right">E-mail </div></td>
              <td width="24%"><div align="center">
                  <input name="email" type="text" id="email" value="<? echo $em?> ">
              </div></td>
              <td width="8%"><input name="Email" type="submit" id="Email" value="Email" action="mailto:[email protected]" >
              </td>
              <td width="16%"><div align="center"><span class="Estilo1">(enviar email)</span></div></td>
            </tr>
          </table></td>
        </tr>
        <tr>
          <td><table width="100%"  cellspacing="0" cellpadding="0">
            <tr>
              <td><div align="center">
                  <textarea name="descripcion" cols="75" rows="15" id="descripcion" ><? echo $des;?></textarea>
              </div></td>
            </tr>
          </table></td>
        </tr>
        <tr>
          <td><input name=idclose type=button value="Cerrar" onclick="window.close()" style="border: 1px solid #000080">
            <input type="submit" name="Submit" value="BORRAR">
            DATOS ACTUALIZADOS </td>
        </tr>
      </table>
    </form></td>
  </tr>
</table>
<p>&nbsp;</p>
<p>&nbsp;</p>
</body>
</html>
  #2 (permalink)  
Antiguo 09/01/2005, 12:02
Avatar de baklao  
Fecha de Ingreso: noviembre-2004
Ubicación: Santa Ana - Isla de Margarita
Mensajes: 482
Antigüedad: 19 años, 4 meses
Puntos: 0
Hola mon que tal pruebalo de esta manera:
Código PHP:
// conexion a la base de datos
$sql "UPDATE clientes SET fecha='$fe', referencia='$ref', nombre='$n', apellido1='$ap1', apellido2='$ap2', telefono='$te', email='$em', direccion='$di' WHERE id='$id'"

mysql_query($sql); 
Suerte y Salu2.

Bye.
__________________
Atte. Mohamed :aplauso:
  #3 (permalink)  
Antiguo 09/01/2005, 12:31
mon
 
Fecha de Ingreso: febrero-2003
Mensajes: 506
Antigüedad: 21 años, 1 mes
Puntos: 0
Hola baklao, gracias, nada socio, no me actualiza, oye una cosa, en la base de datos si hago una copia de la misma, osea como si fuese a exportarla a otro sitio miro el archivo que me genera y en donde sale crear tabla de clientes me pone que la primary key es id oséa que ese no creo que sea el problema del porqué no actualiza, no? y el caso es que si hago un eho me salen las variables bien y actualizadas, no sé ...
  #4 (permalink)  
Antiguo 09/01/2005, 13:06
Avatar de baklao  
Fecha de Ingreso: noviembre-2004
Ubicación: Santa Ana - Isla de Margarita
Mensajes: 482
Antigüedad: 19 años, 4 meses
Puntos: 0
Hola mon aqui te pongo un ejemplo de como yo uso para actualizar los datos:

Código PHP:
<?php
include("conexion.php"); // ARCHIVO DE CONEXION CON BASE DE DATOS.
//************************************************
$tabla=$HTTP_POST_VARS["valor"];
//***************************************
if ($tabla=="banca")
{
$nombre=$HTTP_POST_VARS["nombreb"];
$direccion=$HTTP_POST_VARS["direccion"];
$encargado=$HTTP_POST_VARS["encargadob"];
$telefono1=$HTTP_POST_VARS["tlf1"];
$telefono2=$HTTP_POST_VARS["tlf2"];
//********************************************
 
$sql="UPDATE banca SET nombre='$nombre',telefono1='$telefono1',telefono2='$telefono2',encargado='$encargado' WHERE codigo_banca='".$HTTP_POST_VARS["codigo"]."'";
 
mysql_query($sql);
}
mysql_close(); //cierro la conexion 
// si quiero ir a otra pagina utilizo el header
header("LOCATION:ver.php?tab=".$tabla."&action=ver"); 
?>
Suerte y Salu2.

Bye
__________________
Atte. Mohamed :aplauso:

Última edición por baklao; 09/01/2005 a las 13:33
  #5 (permalink)  
Antiguo 09/01/2005, 13:27
 
Fecha de Ingreso: noviembre-2002
Ubicación: Barcelona - España
Mensajes: 270
Antigüedad: 21 años, 4 meses
Puntos: 0
<?
//recojo las variables que vienen de otra página
$id=$HTTP_POST_VARS[id];
$fe=$HTTP_POST_VARS[fecha];
$ref=$HTTP_POST_VARS[referencia];
$n=$HTTP_POST_VARS[nombre];
$ap1=$HTTP_POST_VARS[apellido1];
$ap2=$HTTP_POST_VARS[apellido2];
$di=$HTTP_POST_VARS[direccion];
$t=$HTTP_POST_VARS[telefono];
$em=$HTTP_POST_VARS[email];
$des=$HTTP_POST_VARS[descripcion];




//conecto con la base de datos
include("conectobd.php");
// hago la actualización

$sql = "UPDATE clientes SET fecha='$fe', referencia='$ref', nombre='$n', apellido1='$ap1', apellido2='$ap2', telefono='$te', email='$em', direccion='$di' WHERE id='$id'";

$result = mysql_query($sql) ;
Hola Mon, tienes mal el nombre de variable que contiene el teléfono.

$t=$HTTP_POST_VARS[telefono];

$sql = "UPDATE clientes SET fecha='$fe', referencia='$ref', nombre='$n', apellido1='$ap1', apellido2='$ap2', telefono='$te', email='$em', direccion='$di' WHERE id='$id'";
Prueba cuando hayas cambiado el nombre de la variable
  #6 (permalink)  
Antiguo 09/01/2005, 13:29
mon
 
Fecha de Ingreso: febrero-2003
Mensajes: 506
Antigüedad: 21 años, 1 mes
Puntos: 0
Qué es?
Código PHP:
$tabla=clientes($HTTP_POST_VARS["valor"]); 
"valor"
  #7 (permalink)  
Antiguo 09/01/2005, 13:33
mon
 
Fecha de Ingreso: febrero-2003
Mensajes: 506
Antigüedad: 21 años, 1 mes
Puntos: 0
Gracias cocker, cambié la variable y sigue sin funcionar, yo no sé que puede ser, seguro que es una pijada pero ya estoy atorado y no veo, gracias de todos modos
  #8 (permalink)  
Antiguo 09/01/2005, 13:34
 
Fecha de Ingreso: noviembre-2002
Ubicación: Barcelona - España
Mensajes: 270
Antigüedad: 21 años, 4 meses
Puntos: 0
Hola de nuevo Mon
$t es la variable que coges el teléfono, y en el Update tienes $te
Te falta una letra
Saludos
  #9 (permalink)  
Antiguo 09/01/2005, 13:37
Avatar de baklao  
Fecha de Ingreso: noviembre-2004
Ubicación: Santa Ana - Isla de Margarita
Mensajes: 482
Antigüedad: 19 años, 4 meses
Puntos: 0
Hola mon esta variable valor viene de un campo hidden y la pongo en mi pagina para saber que es lo que voy actualizar porque aprate de esa condicion del if tengo tras mas y para diferenciar una de la otra utilizo el $tabla=$HTTP_POST_VARS["valor"]; en tu caso lo puedes quitar creo que no lo vas usar.

Ahora bien si todavia te esta dando el error verifica el nombre de tu tabla, los nombres de tus campos.

¿como estas guardando el valor de la fecha?.

Suerte y Salu2.

Bye
__________________
Atte. Mohamed :aplauso:
  #10 (permalink)  
Antiguo 09/01/2005, 13:46
mon
 
Fecha de Ingreso: febrero-2003
Mensajes: 506
Antigüedad: 21 años, 1 mes
Puntos: 0
Cocker, ya lo cambié y puse lo mismo en la variable que en el update, gracias, sigue sin ir

baklao, vale voy a quitar valor, en cuanto a lo de la fecha, viene recogida en formato día/mes/año, voy a quitar de la variable y de update la fecha, ya por probar que no quede
  #11 (permalink)  
Antiguo 09/01/2005, 13:50
Avatar de xknown  
Fecha de Ingreso: diciembre-2004
Ubicación: Cusco - Perú
Mensajes: 2.248
Antigüedad: 19 años, 2 meses
Puntos: 7
Hola, talvez sea un error prueba añadiendo lo siguiente:
Código PHP:
     error_reporting(E_ALL); // en la primera línea
     
....
     
mysql_query($sql);
     echo 
mysql_error();
     .... 
__________________
Alex Concha
Buayacorp - Programación y Diseño
  #12 (permalink)  
Antiguo 09/01/2005, 13:52
Avatar de baklao  
Fecha de Ingreso: noviembre-2004
Ubicación: Santa Ana - Isla de Margarita
Mensajes: 482
Antigüedad: 19 años, 4 meses
Puntos: 0
Mon te cuento que el formato en mysql de fecha es año/mes/dia si no me equivoco cambia el formato de la fecha antes de guardarla y pruebalo.

Suerte y Salu2.

Bye
__________________
Atte. Mohamed :aplauso:
  #13 (permalink)  
Antiguo 09/01/2005, 13:53
mon
 
Fecha de Ingreso: febrero-2003
Mensajes: 506
Antigüedad: 21 años, 1 mes
Puntos: 0
Diossssssss, la put........ fecha, dicho y hecho, quité de recibir fecha y funcionó, una vez más y yá perdí la cuenta, muchísimas gracias baklao y a los demás también gracias por la molestia
  #14 (permalink)  
Antiguo 09/01/2005, 13:56
Avatar de baklao  
Fecha de Ingreso: noviembre-2004
Ubicación: Santa Ana - Isla de Margarita
Mensajes: 482
Antigüedad: 19 años, 4 meses
Puntos: 0
Ahora bien como recibes la fecha en un campo completo o cada uno por separado me explico uno para el dia otro para el mes y otro para el año o todo viene junto.

y de nada socio.

Salu2.

Bye
__________________
Atte. Mohamed :aplauso:
  #15 (permalink)  
Antiguo 09/01/2005, 14:02
mon
 
Fecha de Ingreso: febrero-2003
Mensajes: 506
Antigüedad: 21 años, 1 mes
Puntos: 0
Por cierto baklao con tu codigo también funcionó
  #16 (permalink)  
Antiguo 09/01/2005, 14:05
mon
 
Fecha de Ingreso: febrero-2003
Mensajes: 506
Antigüedad: 21 años, 1 mes
Puntos: 0
Venía todo junto, pero eso ya trabajé con ello y creo que lo sé hacer, como siempre primero prefiero romperme la cabeza yo y después molestar, el problema que yo tengo es que soy autodidacta y no tengo estudios para entender bien los conceptos y tener clara la idea de programación y como funciona toda esta historia por eso estoy tan pez y doy tanta guerra, pero bueno teniendo tan buenos profesores como tú y la gente de este foro voy tirando, de nuevo muchas gracias, ya te daré la paliza en otro momento un poco más
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 06:04.