Foros del Web » Programando para Internet » PHP »

ayuda con actualizar registros..!:s

Estas en el tema de ayuda con actualizar registros..!:s en el foro de PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 07/03/2010, 23:07
Avatar de JoseGMariani  
Fecha de Ingreso: diciembre-2008
Ubicación: Edo Lara
Mensajes: 251
Antigüedad: 15 años, 4 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
  #2 (permalink)  
Antiguo 08/03/2010, 07:33
Avatar de eulloa  
Fecha de Ingreso: octubre-2007
Ubicación: Donde caiga la noche, si mi hijo me deja
Mensajes: 691
Antigüedad: 16 años, 6 meses
Puntos: 5
Respuesta: ayuda con actualizar registros..!:s

¿Y q será lo q no te funciona? ¿Te salta algún error?
Se más explícito
  #3 (permalink)  
Antiguo 08/03/2010, 07:36
Avatar de enlinea777  
Fecha de Ingreso: mayo-2008
Ubicación: frente al pc
Mensajes: 1.830
Antigüedad: 16 años
Puntos: 127
Respuesta: ayuda con actualizar registros..!:s

siento no poder ayudarte porque mi bola de cristal esta en el taller.
wahahaha.
  #4 (permalink)  
Antiguo 08/03/2010, 08:11
Avatar de JoseGMariani  
Fecha de Ingreso: diciembre-2008
Ubicación: Edo Lara
Mensajes: 251
Antigüedad: 15 años, 4 meses
Puntos: 8
Respuesta: ayuda con actualizar registros..!:s

Cita:
Iniciado por enlinea777 Ver Mensaje
siento no poder ayudarte porque mi bola de cristal esta en el taller.
wahahaha.
DEJA EL SPAM! AMIGO.. no tienes mas nada que responer mas que eso? hay esta todo mas explicito no necesita mas explicaciones .. noc ya eh visto verso de tus comentarios en otros post y son siempre pura basura. (interpretacion de spam) QUE ESO NO TE HACE NADA BIEN PURO ! SUMAR Y SUMAR mENSAJES..! :S


-----------------------------------------------------------------------------------------------------


EULLOA. SI me lanza error:

Parse error: syntax error, unexpected T_LOGICAL_OR in ejemplo2.php on line 59

que es la linea del update. :S :S
__________________
"Nunca seas arrogante con los humildes, ni humilde con los arrogantes." Paulo Coelho..
  #5 (permalink)  
Antiguo 08/03/2010, 10:34
Avatar de eulloa  
Fecha de Ingreso: octubre-2007
Ubicación: Donde caiga la noche, si mi hijo me deja
Mensajes: 691
Antigüedad: 16 años, 6 meses
Puntos: 5
Respuesta: ayuda con actualizar registros..!:s

¿De la consulta MySQL? ummm está raro ese tipo de error para la consulta, por lo menos como lo veo yo.
Mira, en el
Código PHP:
Ver original
  1. if (isset($ultimo_mostrado))
No abres {, hazlo y prueba de nuevo
  #6 (permalink)  
Antiguo 08/03/2010, 13:29
Avatar de JoseGMariani  
Fecha de Ingreso: diciembre-2008
Ubicación: Edo Lara
Mensajes: 251
Antigüedad: 15 años, 4 meses
Puntos: 8
Respuesta: ayuda con actualizar registros..!:s

mm en que linea me dices.. por qyo los veo exactamente iguales... :S es decir el primer codigo, si me funciona... cuando lo modifico.. (segundocodigo)

cuya modificacion es solo,queenves de q lea los camposid..lohaga directamente por el nombre.. :S no me funciona.. :S

pero dime que linea es la q me dices por q yo los veo los dos iguales... porfaa..
__________________
"Nunca seas arrogante con los humildes, ni humilde con los arrogantes." Paulo Coelho..
  #7 (permalink)  
Antiguo 08/03/2010, 13:47
Avatar de eulloa  
Fecha de Ingreso: octubre-2007
Ubicación: Donde caiga la noche, si mi hijo me deja
Mensajes: 691
Antigüedad: 16 años, 6 meses
Puntos: 5
Respuesta: ayuda con actualizar registros..!:s

Analizando mejor el código entiendo q me equivoqué al hacerte la observación.
Prueba variando los ' por ". en la consulta, en las variables php. Algo como
Código PHP:
Ver original
  1. $ssql = "update ejemplo set telefono=".telefono." where nombre=$id";
Pero en verdad lo veo raro
  #8 (permalink)  
Antiguo 08/03/2010, 13:49
Avatar de eulloa  
Fecha de Ingreso: octubre-2007
Ubicación: Donde caiga la noche, si mi hijo me deja
Mensajes: 691
Antigüedad: 16 años, 6 meses
Puntos: 5
Respuesta: ayuda con actualizar registros..!:s

Analizando mejor el código entiendo q me equivoqué al hacerte la observación.
Prueba variando los ' por ". en la consulta, en las variables php. Algo como
Código PHP:
Ver original
  1. $ssql = "update ejemplo set telefono=".telefono." where nombre=$id";
Pero en verdad lo veo raro


Bueno pos sin darme cuenta he posteado 2 veces. Disculpen los moderadores
  #9 (permalink)  
Antiguo 08/03/2010, 13:49
Avatar de enlinea777  
Fecha de Ingreso: mayo-2008
Ubicación: frente al pc
Mensajes: 1.830
Antigüedad: 16 años
Puntos: 127
Respuesta: ayuda con actualizar registros..!:s

aprender no cuesta nada
http://enlinea.webhop.net/guia/debugger.html
  #10 (permalink)  
Antiguo 08/03/2010, 14:02
Avatar de JoseGMariani  
Fecha de Ingreso: diciembre-2008
Ubicación: Edo Lara
Mensajes: 251
Antigüedad: 15 años, 4 meses
Puntos: 8
Respuesta: ayuda con actualizar registros..!:s

Hola.. ! :) Ya lo probe :S pero .. igual me sigue dando el mismo error.. y no es logico que haga loq me dices.. por q ya las variables $telefono y $nombre estan establecidas mas arriba.. de todas formas lo probe y me sigue dando el mismo error.. :S y ademas es qme funciiona el mismiximo codigo (el de arriba) pero con los id.. en ves de nombre.. :S


y hay dios!! MODERADORESSS DONDE ESTAN? ? sigue sigue.. enlinea777.. se te suma otro mensaje.. innecesario.. -.- ! ? :s ya veo como llegastes alos 187 mensajes que tienes.. :S -.-
__________________
"Nunca seas arrogante con los humildes, ni humilde con los arrogantes." Paulo Coelho..
  #11 (permalink)  
Antiguo 08/03/2010, 14:09
Avatar de eulloa  
Fecha de Ingreso: octubre-2007
Ubicación: Donde caiga la noche, si mi hijo me deja
Mensajes: 691
Antigüedad: 16 años, 6 meses
Puntos: 5
Respuesta: ayuda con actualizar registros..!:s

¿La variable nombre q tipo es? ¿Has comprobado q trae los valores q esperas?
  #12 (permalink)  
Antiguo 08/03/2010, 14:17
Avatar de JoseGMariani  
Fecha de Ingreso: diciembre-2008
Ubicación: Edo Lara
Mensajes: 251
Antigüedad: 15 años, 4 meses
Puntos: 8
Respuesta: ayuda con actualizar registros..!:s

la variable q agarra el nombre se llama $id.. jeje osea es indiferente.. le puedo cambiar de todas formas y acomodo el update.. y si .. e comprobado de que si las agarra!

le agrege

echo "<br>Teléfono NO actualizado $id";

para ver si me mostraba la variable $id..

me tiene qmostrar los nombres q se agarrarom.. y si! si melso muestra osea q si esta agarrando la variable$id como es devido!! :S

claro para q eso pase tuve q quitarle lo siguiente.

or die(mysql_error());

que le agrege para q me pudera mostrar el error y podertelo colocar aca.. =) por q si no ni me agarra de una sale el error.. entoncs sla quite para poder hacer la comprobaccion que me pedias... cuya comprobacion salio positiva la variable $id (mal llamada antes $nombre.. xD ) si esta agarrando los nombres.. :S =( entoncsq podria ser.. ='(
__________________
"Nunca seas arrogante con los humildes, ni humilde con los arrogantes." Paulo Coelho..
  #13 (permalink)  
Antiguo 08/03/2010, 14:18
Avatar de JoseGMariani  
Fecha de Ingreso: diciembre-2008
Ubicación: Edo Lara
Mensajes: 251
Antigüedad: 15 años, 4 meses
Puntos: 8
Respuesta: ayuda con actualizar registros..!:s

e notado que los update no se pueden hacer sobre letras! o porlomenos ! eso me sucede a mii! :S noc por q debe ser qlos tipos de ampo lso tengo mal noc por q osea esto me pasa en otro codigo que estoy haciendo donde no me actualza.. :S creo q los update en la parte de where solo aceptan nmeros.. =S =( algo asi! =( ... no si alguien sabe.. me lo expliq porfa.. y.y
__________________
"Nunca seas arrogante con los humildes, ni humilde con los arrogantes." Paulo Coelho..
  #14 (permalink)  
Antiguo 08/03/2010, 14:20
Avatar de darkasecas  
Fecha de Ingreso: marzo-2005
Ubicación: SantaCata, NL, Mexico
Mensajes: 1.553
Antigüedad: 19 años, 1 mes
Puntos: 77
Respuesta: ayuda con actualizar registros..!:s

Humm.. si le agregaste "or die(mysql_error())" y te marco este error
Parse error: syntax error, unexpected T_LOGICAL_OR in ejemplo2.php on line 59

Quiere decir que lo pusiste mal :/

Debe de ir dentro de la condicion del if, o bien, coloca el mysql_error dentro del bloque del else >_>
  #15 (permalink)  
Antiguo 08/03/2010, 14:22
Avatar de darkasecas  
Fecha de Ingreso: marzo-2005
Ubicación: SantaCata, NL, Mexico
Mensajes: 1.553
Antigüedad: 19 años, 1 mes
Puntos: 77
Respuesta: ayuda con actualizar registros..!:s

Cita:
Iniciado por JoseGMariani Ver Mensaje
e notado que los update no se pueden hacer sobre letras! o porlomenos ! eso me sucede a mii! :S noc por q debe ser qlos tipos de ampo lso tengo mal noc por q osea esto me pasa en otro codigo que estoy haciendo donde no me actualza.. :S creo q los update en la parte de where solo aceptan nmeros.. =S =( algo asi! =( ... no si alguien sabe.. me lo expliq porfa.. y.y
Ah! claro, no me habia dado cuenta (eso me pasa por ponerme a revisar posts cuando tengo hambre -.-)

Si nombre es un campo de texto, para comparar valores de ese campo (por ejemplo en una clausula where) debes colocar el valor entre comillas simples
  #16 (permalink)  
Antiguo 08/03/2010, 14:28
Avatar de JoseGMariani  
Fecha de Ingreso: diciembre-2008
Ubicación: Edo Lara
Mensajes: 251
Antigüedad: 15 años, 4 meses
Puntos: 8
Respuesta: ayuda con actualizar registros..!:s

holaaa!! eh prograsado averigue el error q me estaba dando.. el t logical or..

y le e agregado unos parentesis al if de mysql_query ...

if ((mysql_query($ssql))or die(mysql_error()));
echo "<br>Teléfono actualizado con éxito";
}else{

y unas llaves al else..

y bueno porlomenos ahora no me sale el error.. peroooo me est apasando lo que habia dicho antes de que los update no pueden agarrar como referencia texto.. :S

eso e slo q creo.. si me equivco corriganme incluso tu enlinea 777 :/ -.- !
ahora me sale
Unknown column 'jose' in 'where clause' :S

q noc encuentra? que? :S por q sale esto.. o.O! :S
__________________
"Nunca seas arrogante con los humildes, ni humilde con los arrogantes." Paulo Coelho..
  #17 (permalink)  
Antiguo 08/03/2010, 14:33
Avatar de JoseGMariani  
Fecha de Ingreso: diciembre-2008
Ubicación: Edo Lara
Mensajes: 251
Antigüedad: 15 años, 4 meses
Puntos: 8
Respuesta: ayuda con actualizar registros..!:s

ahaaa dioss! lo acabo de acomodarr!! muchass graciass!! tratare de hacerlo en lso otros codigos q me han generado un dolor horible de cabeza.. con eso d elos uodate por ejemplo queria q el estado fuera la palabra aceptado .. y como no podia tuve q irme alo bruto y ponerle numeros y en la pagina hacer una leyenda... -.- jajaja xD ! Gracias!! OTRO NOMBRE QUE AGREGO A MI LISTA DE AGRADECIMIENTOS! a todos ustedes.. bueno ya con este paso ire..
puliendolo para lo que quiero.. :S :D je ..! hay un detalle ahora me imprime todas las veces

REGISTRO ACTUALIZADO !

Y TAMBIEN ME IMPRIME : registro no actualizado.. o.O!

debe ser algo de los cierres de los parentesis..
__________________
"Nunca seas arrogante con los humildes, ni humilde con los arrogantes." Paulo Coelho..
  #18 (permalink)  
Antiguo 08/03/2010, 14:39
Avatar de eulloa  
Fecha de Ingreso: octubre-2007
Ubicación: Donde caiga la noche, si mi hijo me deja
Mensajes: 691
Antigüedad: 16 años, 6 meses
Puntos: 5
Respuesta: ayuda con actualizar registros..!:s

Cita:
Iniciado por JoseGMariani Ver Mensaje
holaaa!! eh prograsado averigue el error q me estaba dando.. el t logical or..

y le e agregado unos parentesis al if de mysql_query ...

if ((mysql_query($ssql))or die(mysql_error()));
echo "<br>Teléfono actualizado con éxito";
}else{
Bueno pero acá estás partiendo el IF, es decir no se va a ejecutar, quizá por eso te dejó de saltar el error, esto es gracias a ";" q le pusiste al final

Cita:
Iniciado por JoseGMariani Ver Mensaje
ahora me sale
Unknown column 'jose' in 'where clause' :S

q noc encuentra? que? :S por q sale esto.. o.O! :S
Bueno, aunq no veo por ningún lado la consulta q tiene la referencia a la columna jose, es eso precisamente lo q te dice el error. Hay una consulta donde estás haciendo referencia a una columna jose que no existe en tu BD
  #19 (permalink)  
Antiguo 08/03/2010, 14:51
Avatar de JoseGMariani  
Fecha de Ingreso: diciembre-2008
Ubicación: Edo Lara
Mensajes: 251
Antigüedad: 15 años, 4 meses
Puntos: 8
Respuesta: ayuda con actualizar registros..!:s

y alo solucione..es por lo de las comillas que decia darkasecas .. lo de lso if q me esta imprimiendo varios echo.. eso debe ser en una llave q esta antes ahora lo verifico.. jeje

Gracias alos dos por su apoyo y participacion .. por haberme ayudado! =D Graciass! ire modificando el codigo cualquier otra duda la posteare por aki.. Gracias!!

Viva foros del web..! =$ ! :D! ^.^!
__________________
"Nunca seas arrogante con los humildes, ni humilde con los arrogantes." Paulo Coelho..

Etiquetas: Ninguno
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 15:04.