Foros del Web » Programando para Internet » PHP »

Actualizacion

Estas en el tema de Actualizacion en el foro de PHP en Foros del Web. Hola, Estoy actualizando varios tregistros a la vez y tengo este codigo: Código PHP: <HTML>  <HEAD>  <TITLE>Aktualizazioak.php</TITLE>  </HEAD>  <BODY>  <h1 align="center">Erabiltzaileen Ibilbidea (Aktualizazioak)</h1>  <br>  <br>  <?  //Conexion con la base  mysql_connect ...
  #1 (permalink)  
Antiguo 09/10/2007, 06:16
Avatar de Phoenix23  
Fecha de Ingreso: agosto-2007
Ubicación: 43.286211, -2.171349
Mensajes: 253
Antigüedad: 16 años, 8 meses
Puntos: 1
Actualizacion

Hola,

Estoy actualizando varios tregistros a la vez y tengo este codigo:

Código PHP:
<HTML> 
<HEAD> 
<TITLE>Aktualizazioak.php</TITLE> 
</HEAD> 
<BODY> 
<h1 align="center">Erabiltzaileen Ibilbidea (Aktualizazioak)</h1> 
<br> 
<br> 
<? 
//Conexion con la base 
mysql_connect("localhost","root","");
mysql_select_db("Datuak3");

if (!
$_POST){ 
   
//si no recibo datos de POST, muestro el formulario 

   //es posible que recibamos un id a partir del que hay que mostrar los datos 
   
if (isset($_GET["id_mostrar"])) 
      
$id_mostrar $_GET["id_mostrar"]; 
   else 
      
$id_mostrar 0

   
//extraemos de la base de datos los registros a mostrar 
   //Ejecutamos la sentencia SQL, limitando la búsqueda a 10 registros 
   
$ssql="select IdErabilibil, Indarguneak, Zailtasunak, LanPlana, Jarraipena1, Jarraipena2 from Erabilibil where IdErabilibil>$id_mostrar limit 10"
   
$result=mysql_query($ssql); 

   echo 
"<form action='Aktualizazioak.php' method=post>"
   echo 
"\n<table align=center>"
   echo 
"\n<tr><td><b>IdErabilibil</b></td><td><b>Indarguneak</b></td><td><b>Zailtasunak</b></td><td><b>LanPlana</b></td><td><b>Jarraipena1</b></td><td><b>Jarraipena2</b></td></tr>"

   
$i 1
   while (
$fila=mysql_fetch_array($result)){ 
      echo 
"<td>" $fila["IdErabilibil"] . "</td>"
      echo 
"<td><input type=text name='Indarguneak$i' value='" $fila["Indarguneak"] . "'></td>";
      echo 
"<td><input type=text name='Zailtasunak$i' value='" $fila["Zailtasunak"] . "'></td>";       echo "<td><input type=text name='LanPlana$i' value='" $fila["LanPlana"] . "'></td>";
      echo 
"<td><input type=text name='Jarraipena1$i' value='" $fila["Jarraipena1"] . "'></td>";
      echo 
"<td><input type=text name='Jarraipena2$i' value='" $fila["Jarraipena2"] . "'></td>";
      echo 
"</tr>"
      
$i++; 
      
$ultimo_mostrado $fila["IdErabilibil"]; 
   } 

   echo 
"\n<tr><td colspan=2 align=center><input type='submit' value='Aktualizatu'></td></tr>"
   echo 
"\n</table>"
   echo 
"\n</form>"

   
//si se han mostrado registros, pongo el enlace para ver los siguientes 
   
if (isset($ultimo_mostrado)) 
      echo 
"\n<br><a href='Aktualizazioak.php?id_mostrar=" $ultimo_mostrado "'>Hurrengo 10 ikusi</a>"
}else{ 

   
//es que he recibido datos de formulario, entonces tengo que recibirlos y actualizar la base de datos 
   
for ($i=1;$i<=10;$i++){ 
      
//para cada uno de los elementos que puede haber en el formulario 
      
if (isset($_POST["IdErabilibil" $i])){ 
         
//es que este registro estaba en el formulario 
         
$id $_POST["IdErabilibil" $i]; 
         
$Indarguneak $_POST["Indarguneak" $i];
         
$Zailtasunak $_POST["Zailtasunak" $i]; 
         
$LanPlana $_POST["LanPlana" $i];
         
$Jarraipena1 $_POST["Jarraipena1" $i];
         
$Jarraipena2 $_POST["Jarraipena2" $i];
         
$ssql "Update Erabilibil set Indarguneak='$Indarguneak', Zailtasunak='$Zailtasunak', LanPlana='$LanPlana', Jarraipena1='$Jarraipena1', Jarraipena2='$Jarraipena2' where IdErabilibil=$id"
         
         if (
mysql_query($ssql)) 
            echo 
"<br>Ondo aktulizatu ditu erregistroak"
         else 
            echo 
"<br>Gaizki aktualizatu dira errgistroak"
      } 
   } 
      echo 
"\n<p><a href=Aktualizazioak.php>Volver</a>"

?> 
</BODY> 
</HTML>
Me muestra todas la columnas con su informacion pero cuando le doy a actualizar, se queda la página en blanco y cuando le doy a volver no me a actualizado y no encuentro el fallo. A ver si alguien puede ayudarme.

Gracias de antemano y saludos
  #2 (permalink)  
Antiguo 09/10/2007, 07:52
Avatar de jmqc  
Fecha de Ingreso: noviembre-2004
Ubicación: Venezuela
Mensajes: 353
Antigüedad: 19 años, 5 meses
Puntos: 1
Re: Actualizacion

Qur tal, Phoenix23, viendo el código creo q tu problema radica cuando estas haciendo el $_POST a la variable IdErabilibil pq el lado del formulario osea cuando puedes editar los registros no hay ningun control(ni siquiera oculto) al q estas haciendo el $_POST por lo tando no entra en el primer condicional y por supuesto el UPDATE, no te lanza ningun error, has este cambio y prueba de nuevo, alguien te puede ayudar cuando sea algo mas preciso. Espero q te sirva de ayuda... Saludos
__________________
Ante el desconocimiento ni entendimiento de las cosas decimos que los demás estan locos.

José Quintero. Saludos.
:adios:
  #3 (permalink)  
Antiguo 09/10/2007, 23:35
Avatar de Phoenix23  
Fecha de Ingreso: agosto-2007
Ubicación: 43.286211, -2.171349
Mensajes: 253
Antigüedad: 16 años, 8 meses
Puntos: 1
Re: Actualizacion

Hola jmqc,

gracias por la respuesta, le he cambiado eso y ahora si que me hace bien. He puesto el el IdErabilibil como oculto y ya me funciona.

Gracias y saludos!!!
  #4 (permalink)  
Antiguo 10/10/2007, 04:22
Avatar de Phoenix23  
Fecha de Ingreso: agosto-2007
Ubicación: 43.286211, -2.171349
Mensajes: 253
Antigüedad: 16 años, 8 meses
Puntos: 1
Re: Actualizacion

Hola a todos,

Tengo una nueva duda sobre las actualizaciones y por eso pongo aqui en vez de abrir otro tema.

Mi problema es que quiero meter dos actualizaciones en el mismo form para tener solo un boton de actualizacion. este es codigo que tengo:

Código PHP:
<? 
//Conexion con la base 
mysql_connect("localhost","root","iturralde");
mysql_select_db("Datuak3");

if (!
$_POST){ 
   
//si no recibo datos de POST, muestro el formulario 

   //es posible que recibamos un id a partir del que hay que mostrar los datos 
   
if (isset($_GET["id_mostrar"])) 
      
$id_mostrar $_GET["id_mostrar"]; 
   else 
      
$id_mostrar 0

   
//extraemos de la base de datos los registros a mostrar 
   //Ejecutamos la sentencia SQL, limitando la búsqueda a 10 registros 
   
$ssql="SELECT IdPrestaArau, Tituloa, AmaieraData, Zentroa FROM GizarPrestaArau WHERE IdPrestaArau > $id_mostrar limit 10"
   
$result=mysql_query($ssql); 

   echo 
"<form action='AktuProba2.php' method=post>"
   echo 
"\n<table align=left>"
   echo 
"\n<tr><td><b>Tituloa</b></td><td><b>Amaiera Data</b></td><td><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++; 
      
$ultimo_mostrado $fila["IdIbilbidea"]; 
   } 

   
//echo "\n<tr><td colspan=2 align=center><input type='submit' value='Aktualizatu'></td></tr>"; 
   
echo "\n</table>"
   
//echo "\n</form>"; 
   
   
echo "<p>&nbsp;</p>";
   echo 
"<p>&nbsp;</p>";
   echo 
"<p>&nbsp;</p>";
   echo 
"<p>&nbsp;</p>";
   
   
$ssql2="SELECT IdGizarLanPresta, Ikastaroak, Orduak, Urtea, Zentroa, Erakundea  FROM GizarLanPresta WHERE IdGizarLanPresta > $id_mostrar limit 10"
   
$result2=mysql_query($ssql2); 

   
  
// echo "<form action='AktuProba2.php' method=post>"; 
   
echo "\n<table align=left>"
   echo 
"\n<tr><td><b>Ikastaroak</b></td><td><b>Orduak</b></td><td><b>Urtea</b></td><td><b>Zentroa</b></td><td><b>Erakundea</b></td></tr>"

   
$i2 1
   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>"
      
$i2++; 
      
$ultimo_mostrado2 $fila2["IdIbilbidea"]; 
   } 

   echo 
"\n<tr><td colspan=2 align=center><input type='submit' value='Aktualizatu'></td></tr>"
   echo 
"\n</table>"
   echo 
"\n</form>"

   
//si se han mostrado registros, pongo el enlace para ver los siguientes 
   
if ((isset($ultimo_mostrado2)) && ($ultimo_mostrado2 10))
      echo 
"\n<br><a href='AktuProba2.php?id_mostrar=" $ultimo_mostrado2 "'>Hurrengo 10 ikusi</a>"

}else{ 

   
//es que he recibido datos de formulario, entonces tengo que recibirlos y actualizar la base de datos 
   
for ($i=1;$i<=10;$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"
         
         if (
mysql_query($ssql)) 
            echo 
"<br>Ondo aktulizatu dira erregistroak"
         else 
            echo 
"<br>Gaizki aktualizatu dira erregistroak"
      } 
   } 
      
//echo "\n<p><a href=AktuProba2.php>Volver</a>"; 
            
   
for ($i2=1;$i2<=10;$i2++){ 
      
//para cada uno de los elementos que puede haber en el formulario 
      
if (isset($_POST["IdGizarLanPresta" $i2])){ 
         
//es que este registro estaba en el formulario 
         
$id $_POST["IdGizarLanPresta" $i2]; 
         
$Ikastaroak $_POST["Ikastaroak" $i2];
         
$Orduak $_POST["Orduak" $i2]; 
         
$Urtea $_POST["Urtea" $i2];
         
$Zentroa $_POST["Zentroa" $i2];
         
$Erakundea $_POST["Erakundea" $i2];
         
$ssql2 "Update GizarLanPresta set Ikastaroak='$Ikastaroak', Orduak='$Orduak', Urtea='$Urtea', Zentroa='$Zentroa', Erakundea='$Erakundea' where IdGizarLanPresta=$id"
         
         if (
mysql_query($ssql2)) 
            echo 
"<br>Ondo aktulizatu dira erregistroak"
         else 
            echo 
"<br>Gaizki aktualizatu dira erregistroak"
      } 
   } 
      echo 
"\n<p><a href=AktuProba2.php>Volver</a>"

?>
Pero solo me actualiza la primera tabla y el ultimo registro de la segunda y no soy capaz de encontrar el fallo.

Os agradeceria vuestra ayuda.

Gracias de antemano y saludos
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 18:57.