Foros del Web » Programando para Internet » PHP »

Problema al actualizar

Estas en el tema de Problema al actualizar en el foro de PHP en Foros del Web. hola a todos, Tengo un problema al actualizar. Tengo un formulario en el que tengo una opcion de actualizar. Cambio el registro y cuando le ...
  #1 (permalink)  
Antiguo 18/10/2007, 12:03
Avatar de Phoenix23  
Fecha de Ingreso: agosto-2007
Ubicación: 43.286211, -2.171349
Mensajes: 253
Antigüedad: 17 años, 2 meses
Puntos: 1
Problema al actualizar

hola a todos,

Tengo un problema al actualizar. Tengo un formulario en el que tengo una opcion de actualizar. Cambio el registro y cuando le doy al boton de actualizar me actualiza en la base de datos pero no en el formulario me muestra lo anterior que habia y si le doy de nuevo a actualizar entonces es cuando me aparece actualizado en el formulario y no tengo ni idea de lo que puede ser. Aqui os dejo el codigo aver si me podeis echar una mano.

Código PHP:
<form method="post" name="form1" action="<?php echo $editFormAction?>">
<?
//Conexion con la base 
mysql_connect("localhost","usuario","contraseña");
mysql_select_db("Datuak3");

   
//extraemos de la base de datos los registros a mostrar 
   //Ejecutamos la sentencia SQL, limitando la búsqueda a 10 registros 
   
$ssql="SELECT * FROM GizarPrestaArau"
   
$result=mysql_query($ssql); 
 
   echo 
"<p align=left><strong><u>Prestakuntza Arautua</u></strong></p>";
   echo 
"\n<table border=1 align=left>"
   echo 
"\n<tr><td align=center><b>Tituloa</b></td><td align=center><b>Amaiera Data</b></td><td align=center><b>Zentroa</b></td></tr>"

   
$i 1
   while (
$fila=mysql_fetch_array($result)){ 
      echo 
"\n<input type=hidden name='IdPrestaArau$i' value='" $fila["IdPrestaArau"] . "'>"
      echo 
"<td><input type=text name='Tituloa$i' value='" $fila["Tituloa"] . "'></td>";  
      echo 
"<td><input type=text name='AmaieraData$i' value='" $fila["AmaieraData"] . "'></td>";
      echo 
"<td><input type=text name='Zentroa$i' value='" $fila["Zentroa"] . "'></td>";       
      echo 
"</tr>"
      
$i++; 
   } 

   echo 
"\n</table>"
   
   echo 
"<p>&nbsp;</p>";
   echo 
"<p>&nbsp;</p>";
   echo 
"<p>&nbsp;</p>";
   echo 
"<p>&nbsp;</p>";
   echo 
"<p>&nbsp;</p>";
   
   
$ssql2="SELECT * FROM GizarLanPresta"
   
$result2=mysql_query($ssql2); 

  
   echo 
"<p align=left size=18><strong><u>Lanbide Prestakuntza</u></strong></p>";
   echo 
"\n<table border=1 align=left>"
   echo 
"\n<tr><td align=center><b>Ikastaroak</b></td><td align=center><b>Orduak</b></td><td align=center><b>Urtea</b></td><td align=center><b>Zentroa</b></td><td><b>Erakundea</b></td></tr>"

   while (
$fila2=mysql_fetch_array($result2)){ 
      echo 
"\n<input type=hidden name='IdGizarLanPresta$i' value='" $fila2["IdGizarLanPresta"] . "'>"
      echo 
"<td><input type=text name='Ikastaroak$i' value='" $fila2["Ikastaroak"] . "'></td>";  
      echo 
"<td><input type=text name='Orduak$i' value='" $fila2["Orduak"] . "'></td>";
      echo 
"<td><input type=text name='Urtea$i' value='" $fila2["Urtea"] . "'></td>";
      echo 
"<td><input type=text name='Zentroa$i' value='" $fila2["Zentroa"] . "'></td>";      
      echo 
"<td><input type=text name='Erakundea$i' value='" $fila2["Erakundea"] . "'></td>"
      echo 
"</tr>"
      
$i++; 
   } 
   
   echo 
"\n</table>"
   
  
   
   for (
$i=1;$i<=1500;$i++){ 
      
//para cada uno de los elementos que puede haber en el formulario 
      
if (isset($_POST["IdPrestaArau" $i])){ 
         
//es que este registro estaba en el formulario 
         
$id $_POST["IdPrestaArau" $i]; 
         
$Tituloa $_POST["Tituloa" $i];
         
$AmaieraData $_POST["AmaieraData" $i]; 
         
$Zentroa $_POST["Zentroa" $i];
         
$ssql "Update GizarPrestaArau set Tituloa='$Tituloa', AmaieraData='$AmaieraData', Zentroa='$Zentroa' where IdPrestaArau=$id"
         
         
$Eje mysql_query($ssql) or die (mysql_error());
         
      } 

      if (isset(
$_POST["IdGizarLanPresta" $i])){ 
         
$id $_POST["IdGizarLanPresta" $i]; 
         
$Ikastaroak $_POST["Ikastaroak" $i];
         
$Orduak $_POST["Orduak" $i]; 
         
$Urtea $_POST["Urtea" $i];
         
$Zentroa $_POST["Zentroa" $i];
         
$Erakundea $_POST["Erakundea" $i];
         
$ssql2 "Update GizarLanPresta set Ikastaroak='$Ikastaroak', Orduak='$Orduak', Urtea='$Urtea', Zentroa='$Zentroa', Erakundea='$Erakundea' where IdGizarLanPresta=$id"
         
         
$Eje2 mysql_query($ssql2) or die (mysql_error()); 
      } 
      
    
   } 
   
   
?>
</form>
Gracias de antemano y saludos
  #2 (permalink)  
Antiguo 18/10/2007, 13:07
Avatar de Seppo  
Fecha de Ingreso: marzo-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.284
Antigüedad: 19 años, 8 meses
Puntos: 17
Re: Problema al actualizar

Phoenix, el problema es que primero buscás los resultados y después los actualizas, entonces la información que mostras es de los resultados que trajiste... tenés que poner el update antes de los select
  #3 (permalink)  
Antiguo 18/10/2007, 13:38
(Desactivado)
 
Fecha de Ingreso: diciembre-2006
Mensajes: 225
Antigüedad: 17 años, 11 meses
Puntos: 1
Re: Problema al actualizar

tbn te recomiendo no dejar q se guarde la cache porq aveces carga lo de la cache y no los datos nuevos y Seppo gracias por esa no me la sabia q los updates van antes q los selects y gracias de nuevo
  #4 (permalink)  
Antiguo 18/10/2007, 23:41
Avatar de Phoenix23  
Fecha de Ingreso: agosto-2007
Ubicación: 43.286211, -2.171349
Mensajes: 253
Antigüedad: 17 años, 2 meses
Puntos: 1
Re: Problema al actualizar

hola,

Gracias por vuestras respuestas. He hecho como dices, seppo, y me va perfecto.

talcual, que es eso de la cache? es que no tengo ni idea. siempre viene bien saber un poquito mas.

Gracias y saludos
  #5 (permalink)  
Antiguo 19/10/2007, 15:42
(Desactivado)
 
Fecha de Ingreso: diciembre-2006
Mensajes: 225
Antigüedad: 17 años, 11 meses
Puntos: 1
Re: Problema al actualizar

bueno te explico la cache es un archivo q se guarda en el server la cual permite q la web se carge mas rapido , bueno por hay va bien , pero hay veces q esa cache se demora en borrarce o actualizarce he hay el problema q no nos sirve asi por q va a mostrar los datos q estaban antes por lo cual tenemos q hacer un actualizar en explorer para eso existe una forma para q no se guarde la cache del script y no nos suceda esto busca aqui en el foro ya q el codigo no lo tengo a la mano
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 13:01.