Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/03/2010, 23:07
Avatar de JoseGMariani
JoseGMariani
 
Fecha de Ingreso: diciembre-2008
Ubicación: Edo Lara
Mensajes: 251
Antigüedad: 16 años, 3 meses
Puntos: 8
ayuda con actualizar registros..!:s

Hola!primero que nada buenas tardes..! :) :S tengo un problema noc q estoy haciendo mal.. pues veran el codigo inicialmente es asi, lo agarre d eun ejemplo de una web.. y pues funciona..

Código PHP:
HTML> 
<HEAD> 
<TITLE>edicion_a_la_vez.php</TITLE> 
</HEAD> 
<BODY> 
<h1 align="center">Edición de varios registros a la vez</h1> 
<br> 
<br> 
<? 
//Conexion con la base 
require ($raiz "../../../../librerias/principales.php"); 
$conn mysql_conexion(); 

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 * from manual_php where id>$id_mostrar limit 10"
   
$result=mysql_query($ssql); 

   echo 
"<form action='edicion_a_la_vez.php' method=post>"
   echo 
"\n<table align=center>"
   echo 
"\n<tr><td><b>Nombre</b></td><td><b>Teléfono</b></td></tr>"

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

   echo 
"\n<tr><td colspan=2 align=center><input type='submit' value='Editar todos'></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='edicion_a_la_vez.php?id_mostrar=" $ultimo_mostrado "'>Ver los 10 siguientes</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["id" $i])){ 
         
//es que este registro estaba en el formulario 
         
$id $_POST["id" $i]; 
         
$telefono $_POST["telefono" $i]; 
         
$ssql "update manual_php set telefono='$telefono' where id=$id"
         if (
mysql_query($ssql)) 
            echo 
"<br>Teléfono actualizado con éxito"
         else 
            echo 
"<br>Teléfono NO actualizado"
      } 
   } 
      echo 
"\n<p><a href=edicion_a_la_vez.php>Volver</a>"
   } 
?> 
</BODY> 
</HTML>

Hay esta como pueden evr con id ... Yo lo quiero es q no se tome la variable id si no el Nombre.. PUES mi idea es q ala final ese codigo se ejecute directo sin un sumit cada cierto tiempo con un crob job.. pero al modificarlo

Código PHP:
<HTML> 
<HEAD> 
<TITLE>edicion_a_la_vez.php</TITLE> 
</HEAD> 
<BODY> 
<h1 align="center">Edición de varios registros a la vez</h1> 
<br> 
<br> 
<? 
//Conexion con la base 
include ("../conexion.php"); 

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 * from ejemplo where id>$id_mostrar limit 10"
   
$result=mysql_query($ssql); 

   echo 
"<form action='ejemplo2.php' method=post>"
   echo 
"\n<table align=center>"
   echo 
"\n<tr><td><b>Nombre</b></td><td><b>Teléfono</b></td></tr>"

   
$i 1
   while (
$fila=mysql_fetch_array($result)){ 
      echo 
"\n<input type=visible name='nombre$i' value='" $fila["nombre"] . "'>"
      echo 
"<tr>"
      echo 
"<td>" $fila["nombre"] . "</td>"
      echo 
"<td><input type=text name='telefono$i' value='" $fila["telefono"] . "'></td>"
      echo 
"</tr>"
      
$i++; 
      
$ultimo_mostrado $fila["id"]; 
   } 

   echo 
"\n<tr><td colspan=2 align=center><input type='submit' value='Editar todos'></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='ejemplo2.php?id_mostrar=" $ultimo_mostrado "'>Ver los 10 siguientes</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["nombre" $i])){ 
         
//es que este registro estaba en el formulario 
         
$id $_POST["nombre" $i]; 
         
$telefono $_POST["telefono" $i]; 
         
$ssql "update ejemplo set telefono='$telefono' where nombre=$id"
         if (
mysql_query($ssql))
            echo 
"<br>Teléfono actualizado con éxito"
         else 
            echo 
"<br>Teléfono NO actualizado"
      } 
   } 
      echo 
"\n<p><a href=ejemplo2.php>Volver</a>"
   } 
?> 
</BODY> 
</HTML>
No me funciona..!! :s q estoy haciendo mal.. =( y.y deberia de funcionar.. solo e cambiado id por nombre en todo los casos.. =S y no me actualiza.. =S

Como haria.. porfavor me podrian ayudar.. =(
espero ayuda.. =( muchas gracias...!

Última edición por JoseGMariani; 07/03/2010 a las 23:19