Foros del Web » Programando para Internet » PHP »

problemas con update

Estas en el tema de problemas con update en el foro de PHP en Foros del Web. Hola a todos, tengo un listar.php que me imprime todos los datos de una tabla ordenados por un ID. Lo que quiero conseguir a traves ...
  #1 (permalink)  
Antiguo 03/04/2011, 14:06
Avatar de Pike  
Fecha de Ingreso: agosto-2008
Ubicación: Por ahí
Mensajes: 251
Antigüedad: 15 años, 8 meses
Puntos: 1
problemas con update

Hola a todos, tengo un listar.php que me imprime todos los datos de una tabla ordenados por un ID. Lo que quiero conseguir a traves de un link en lada fila:
echo '<td><a href="editar.php?id_beca='.$id_beca.'">editar</a></td>';

me lleve a una pagina que con UPDATE pueda editar esa fila que he seleccionado. ¿Como puedo ediar solo el registro que selecciono en listar.php?.

Espero que me haya explicado bien.

Saludos
  #2 (permalink)  
Antiguo 03/04/2011, 14:39
 
Fecha de Ingreso: marzo-2011
Ubicación: Veracruz
Mensajes: 92
Antigüedad: 13 años, 1 mes
Puntos: 3
Respuesta: problemas con update

Pues como ya tienes en el link el id_beca que quieres editar puedes hacer algo asi:

Código PHP:
Ver original
  1. <?php
  2.  
  3. if(isset($_GET['id_beca'])){
  4.  
  5. $id_beca = $_GET['id_beca'];
  6.  
  7. $datos = mysql_query("SELECT * FROM tabla WHERE id_beca='$id_beca'") or die(mysql_error());
  8. $row = mysql_fetch_object($datos);
  9.  
  10. }
  11.  
  12. ?>
  13.  
  14. <form method="post" action="update2.php">
  15. Nombre:<input type="text" name="nombre" value="<?php echo $row->nombre; ?>"/><br>
  16. <!-- Aqui los demas campos que quieras editar -->
  17. <input type="submit" name="enviar" VALUE="ACTUALIZAR"/>
  18. </form>

Ya en update2.php

Código PHP:
Ver original
  1. <?php
  2. if(isset($_POST['enviar'])){
  3.  
  4. $nombre = $_POTS['nombre'];
  5.  
  6. mysql_query("UPDATE tabla SET nombre='$nombre'") or die(mysql_error());
  7. echo "Se han actualizado tus datos";
  8.  
  9. }
  10. ?>

Bueno creo que eso era lo que querias, saludos.
  #3 (permalink)  
Antiguo 03/04/2011, 15:35
Avatar de Pike  
Fecha de Ingreso: agosto-2008
Ubicación: Por ahí
Mensajes: 251
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: problemas con update

Cita:
Iniciado por gmurop Ver Mensaje
Pues como ya tienes en el link el id_beca que quieres editar puedes hacer algo asi:

Código PHP:
Ver original
  1. <?php
  2.  
  3. if(isset($_GET['id_beca'])){
  4.  
  5. $id_beca = $_GET['id_beca'];
  6.  
  7. $datos = mysql_query("SELECT * FROM tabla WHERE id_beca='$id_beca'") or die(mysql_error());
  8. $row = mysql_fetch_object($datos);
  9.  
  10. }
  11.  
  12. ?>
  13.  
  14. <form method="post" action="update2.php">
  15. Nombre:<input type="text" name="nombre" value="<?php echo $row->nombre; ?>"/><br>
  16. <!-- Aqui los demas campos que quieras editar -->
  17. <input type="submit" name="enviar" VALUE="ACTUALIZAR"/>
  18. </form>

Ya en update2.php

Código PHP:
Ver original
  1. <?php
  2. if(isset($_POST['enviar'])){
  3.  
  4. $nombre = $_POTS['nombre'];
  5.  
  6. mysql_query("UPDATE tabla SET nombre='$nombre'") or die(mysql_error());
  7. echo "Se han actualizado tus datos";
  8.  
  9. }
  10. ?>
no entiendo esta última parte, si los datos que quiero editar estan en otro archivo

Bueno creo que eso era lo que querias, saludos.
  #4 (permalink)  
Antiguo 03/04/2011, 21:32
 
Fecha de Ingreso: marzo-2011
Ubicación: Veracruz
Mensajes: 92
Antigüedad: 13 años, 1 mes
Puntos: 3
Respuesta: problemas con update

Pues en la primera parte metes en un form los datos que quieres editar segun el id_beca, y en la segunda haces el UPDATE, aunque lo puedes hacer en el mismo archivo, eso depende de la url a la que quieres que se envien los datos del form, en ese caso puse que se envien a update2.php

<form method="post" action="update2.php">
  #5 (permalink)  
Antiguo 03/04/2011, 21:51
Avatar de nicolyto77  
Fecha de Ingreso: marzo-2007
Ubicación: Buenos Aires
Mensajes: 782
Antigüedad: 17 años, 1 mes
Puntos: 12
Respuesta: problemas con update

Holas

No es la manera que prefiero, pero sin utilizar alguna tecnologia como AJAX, podes crear un campo en el formulario como ser:

Código HTML:
Ver original
  1. <input type="hidden" name="ok" value="1" />

Y luego en el codigo de la misma pagina, arriba del codigo HTML, iria un:

Código PHP:
<?php
if((isset($_POST['ok'])) AND ($_POST['ok'] == 1)) {
// El Update...
}
?>
Le podes poner mucha mas validacion, es solo a metodo de ejemplo. Sino, ver la manera de usar AJAX y actualizar sin necesidad de recargar la pagina.

Saludos, mucha suerte
__________________
CabaSoft Networks

Etiquetas: mysql, update
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:52.