Foros del Web » Programando para Internet » PHP »

Ve primero el registro y luego modificarlo???

Estas en el tema de Ve primero el registro y luego modificarlo??? en el foro de PHP en Foros del Web. Amigos en un manual de php, encontre unos codigos de como modificar un registro en una BD, pero primero hacer una consulta a la BD ...
  #1 (permalink)  
Antiguo 08/07/2005, 13:55
Avatar de 8461277  
Fecha de Ingreso: diciembre-2002
Ubicación: san juan de los morros
Mensajes: 887
Antigüedad: 15 años
Puntos: 1
Ve primero el registro y luego modificarlo???

Amigos en un manual de php, encontre unos codigos de como modificar un registro en una BD, pero primero hacer una consulta a la BD imprimir todos los registro de la misma y darle a un boton para modificar una en especial utilizando el ID para ello, La consulta la relaiza perfectamenete, pero cuando le doy al boton modificar me sale este error:

Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in c:\wamp\www\pagina universidad backup servidor\postgrado\actualizar.php on line 6

Nombre:

Apellido:

DNI:

El codigo de actualizar.php es :
Código PHP:
<?
include "conexion.php";

if (!isset(
$accion)){
  
$result=mysql_query("SELECT * FROM coordinador WHERE Id=$Id",$conexion);
  
$row=mysql_fetch_row($result);
  echo
"<html>
  <head><title>Actualizar datos de la base</title></head>
  <body>
  <form action=\"actualizar.php?accion=guardar\" method=\"POST\">
  Nombre:<br>
  <input type=\"text\" value=\"$row[1]\" name=\"nombre\"><br>
  Apellido:<br>
  <input type=\"text\" value=\"$row[2]\" name=\"apellido\"><br>
  DNI:<br>
  <input type=\"text\" value=\"$row[3]\" name=\"dni\"><br>
  <input type=\"hidden\" name=\"id\" value=\"$row[0]\">
  <input type=\"submit\" value=\"Guardar\">
  </form>
  </body>
  </html>"
;
}elseif(
$accion==guardar){
  
$result=mysql_query("UPDATE usuarios SET nombre=$nombre,
    apellido=$apellido, dni=$dni WHERE id = $id"
,$conexion);
  echo
"
  <html>
  <body>
  <h3>Los registros han sido actualizados</h3>
  </body>
  </html>"
;
}
include 
"cerrar_conexion.php";
?>
Y la linea donde da el error es
$row=mysql_fetch_row($result);-----> linea 6

Que estara pasando no recoge la variable Id, e colocado _POST["$Id"] con el _GET, etc y nada me`puede dar una mano por favor????
__________________
Miguel Padrón :cool:
  #2 (permalink)  
Antiguo 08/07/2005, 14:43
Avatar de deet  
Fecha de Ingreso: mayo-2005
Ubicación: Córdoba - Argentina
Mensajes: 269
Antigüedad: 12 años, 7 meses
Puntos: 1
veo que estas poniendo $_POST["Id"] y en el formulario name="id", tené en cuenta las mayúculas cuando definas las variables.

prueba sacar en pantalla $_POST["id"] antes del condicional if

porque la variable $accion tambien la tienes que llamar con la variable superglobal $_GET["accion"] ya que si tienes instalado PHP 4.xxx register_globals=off.

Última edición por deet; 08/07/2005 a las 14:52
  #3 (permalink)  
Antiguo 09/07/2005, 04:07
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 13 años, 4 meses
Puntos: 101
Prueba con
Código PHP:
include "conexion.php";

if (!isset(
$_POST['accion'])){ // Variables superglobales
// manejo de matricez en cadena
  
$result=mysql_query("SELECT * FROM coordinador WHERE Id='".$_POST['Id']."'"$conexion);
  
$row=mysql_fetch_row($result);
  echo
"<html>
  <head><title>Actualizar datos de la base</title></head>
  <body>
// No uses variables como action (menos si es POST)
  <form action=\"actualizar.php\" method=\"POST\">
  Nombre:<br>
  <input type=\"text\" value=\"$row[1]\" name=\"nombre\"><br>
  Apellido:<br>
  <input type=\"text\" value=\"$row[2]\" name=\"apellido\"><br>
  DNI:<br>
  <input type=\"text\" value=\"$row[3]\" name=\"dni\"><br>
  <input type=\"hidden\" name=\"id\" value=\"$row[0]\">
  <input type=\"submit\" name=\"accion\" value=\"Guardar\">
  </form>
  </body>
  </html>"
;
}elseif(
$_POST['accion']=="Guardar") { // Estás comparando con una cadena
  
$result=mysql_query("UPDATE usuarios SET nombre='".$_POST['nombre']."',
    apellido='"
.$_POST['apellido']."', dni='".$_POST['dni']."' WHERE id= '".$_POST['id']."'",$conexion);
  echo
"
  <html>
  <body>
  <h3>Los registros han sido actualizados</h3>
  </body>
  </html>"
;
}
include 
"cerrar_conexion.php";
?> 
http://www.forosdelweb.com/showthrea...989#post238989

... solo como guía, creo hay muchas cosas a tener en cuenta...

__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
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 19:19.