• Domingo 19 de Mayo de 2024, 00:01

Autor Tema:  Podeis Decirmexq No M Funciona Este Codigo?¿?¿?  (Leído 1836 veces)

kassel

  • Nuevo Miembro
  • *
  • Mensajes: 16
    • Ver Perfil
Podeis Decirmexq No M Funciona Este Codigo?¿?¿?
« en: Lunes 26 de Enero de 2004, 14:01 »
0
ola tengo este codigo en una html:
Código: Text
  1. <html>
  2. <body>
  3.  
  4. <?php
  5.  
  6. $link = mysql_connect("localhost", "root");
  7. mysql_select_db("seres_clientes",$link);
  8. extract($_POST,EXTR_SKIP);
  9. extract($_GET,EXTR_SKIP);
  10.  
  11.  
  12.  
  13. //Comprobamos si hemos recibido datos del formulario (enviar)
  14. if ($enviar) {
  15.    // Si recibimos un id, modificamos, sino añadimos un registro
  16.    if ($id_cliente) {
  17.       $sql = "UPDATE usuarios SET nombre='$nombre', apellidos='$apellidos',
  18.           mail='$mail' WHERE id_cliente=$id_cliente";
  19.    
  20.       echo "Registro Actualizado<p>";
  21.    //variable de get
  22.  
  23.    } else {
  24.       $sql = "INSERT INTO usuarios (nombre, apellidos, mail) VALUES ".
  25.          "('$nombre', '$apellidos', '$mail')";
  26.       echo "Registro Añadido<p>";
  27.    }
  28.    // Enviamos la sentencia SQL al servidor DB
  29.    $result = mysql_query($sql);
  30. } elseif ($delete) {
  31.    // Borramos un registro
  32.    $sql = "DELETE FROM usuarios WHERE id_cliente=$id_cliente";
  33.    $result = mysql_query($sql);
  34.    echo "Registro Borrado<p>";
  35. } else {
  36.    // Esta parte se ejecuta si no hemos presionado el boton enviar,
  37.    // es decir no venimos de un formulario
  38.    if (!$id_cliente) {
  39.       // Mostramos todos los registros de nuestra BD
  40.       $result = mysql_query("SELECT * FROM usuarios",$link);
  41.       while ($myrow = mysql_fetch_array($result)) {
  42.          echo $myrow["nombre"]." - ".$myrow["apellidos"]." - ".$myrow["mail"];
  43.          echo "<a href=\"$PHP_SELF?id_cliente=".$myrow["id_cliente"]."&delete=yes\">   Borrar - </a>";
  44.          echo "<a href=\"$PHP_SELF?id_cliente=".$myrow["id_cliente"]."&delete=yes\"> Modificar </a><br>";
  45.       }
  46.    }
  47. }
  48. ?>
  49.  
  50. <P>
  51. <a href="<?php echo $PHP_SELF?>">Añadir un registro</a>
  52. <P>
  53. <form method="post" action="<?php echo $PHP_SELF;?>">
  54. <?php
  55.  
  56. if ($id_cliente) {
  57.      // editamos el registro seleccionado
  58.      $sql = "SELECT * FROM usuarios WHERE id_cliente=$id_cliente";
  59.      $result = mysql_query($sql);
  60.      $myrow = mysql_fetch_array($result);
  61.      $id_cliente = $myrow["id_cliente"];
  62.     $nombre = $myrow["nombre"];
  63.      $apellidos= $myrow["apellidos"];
  64.      $telefono = $myrow["telefono"];
  65.      $mail = $myrow["mail"];
  66.  
  67.      // enviamos el id para poder editar el registro
  68.      echo "id :  <input type=text  size=10 name=\"id_cliente\" value=$id_cliente><br>";
  69.    
  70.  
  71.  
  72. ?>
  73.  
  74. Nombre :  <input type="Text" size="50" name="nombre" id="nombre" value="<?php echo $nombre ?>"><br>
  75. Apellidos :  <input type="Text" size="100" name="apellidos" value="<?php echo $apellidos ?>"><br>
  76. Email :  <input type="Text" size="150" name="mail" value="<?php echo $mail ?>"><br>
  77.  
  78. <input type="Submit" name="enivar" value="Enviar Información">
  79. </form>
  80. <?
  81. echo $nombre;
  82. ?>
  83. <?php
  84.  
  85. } // End If if ($enviar)
  86.  
  87. ?>
  88.  
  89.  
  90.  
  91. </body>
  92. </html>
  93.  
trngo que comentar dos cosas:
-tengo .en php.ini.dist-registrer_globals:f(lo he puesto en on y tmpco funciona)
- no da ningun tipo de error solo que no modifica sigue == el registro.

ola :D

Avalon

  • Miembro MUY activo
  • ***
  • Mensajes: 448
    • Ver Perfil
Re: Podeis Decirmexq No M Funciona Este Codigo?¿?¿?
« Respuesta #1 en: Lunes 26 de Enero de 2004, 15:12 »
0
No he probado el código pero veo dos detalles:


- Primero

Código: Text
  1. echo "<a href=\"$PHP_SELF?id_cliente=".$myrow["id_cliente"]."&delete=yes\"> Modificar </a><br>";
  2.  

debería ser

Código: Text
  1. echo "<a href=\"$PHP_SELF?id_cliente=".$myrow["id_cliente"]."\"> Modificar </a><br>";
  2.  



- Segundo

Código: Text
  1. <input type="Submit" name="enivar" value="Enviar Información">
  2.  

hay un error en la propiedad name del botón:


Código: Text
  1. <input type="Submit" name="enviar" value="Enviar Información">
  2.  


Salu2,
Avalon

kassel

  • Nuevo Miembro
  • *
  • Mensajes: 16
    • Ver Perfil
Re: Podeis Decirmexq No M Funciona Este Codigo?¿?¿?
« Respuesta #2 en: Martes 27 de Enero de 2004, 02:15 »
0
Avalon muxas gracias por las aclaraciones
eres cojonudo ,diste en diana

ola :D

kassel

  • Nuevo Miembro
  • *
  • Mensajes: 16
    • Ver Perfil
Re: Podeis Decirmexq No M Funciona Este Codigo?¿?¿?
« Respuesta #3 en: Martes 27 de Enero de 2004, 04:25 »
0
ahora lo que no entiendo es porque no me ace nada a la hora de añadir un registro, por cierto avalon correji lo que me dijiste.


ola :D

Avalon

  • Miembro MUY activo
  • ***
  • Mensajes: 448
    • Ver Perfil
Re: Podeis Decirmexq No M Funciona Este Codigo?¿?¿?
« Respuesta #4 en: Martes 27 de Enero de 2004, 11:14 »
0
Aunque no te inserte el registro ¿ aparece al menos el mensaje "Registro Añadido" ?

- En caso afirmativo modifica esta línea:

Código: Text
  1. $result = mysql_query($sql);
  2.  

y cámbiala por ésta:

Código: Text
  1. $result = mysql_query($sql) or die(mysql_error());
  2.  

para que te muestre si hay algún error en la consulta.


A ver qué ocurre.


Salu2,
Avalon

kassel

  • Nuevo Miembro
  • *
  • Mensajes: 16
    • Ver Perfil
Re: Podeis Decirmexq No M Funciona Este Codigo?¿?¿?
« Respuesta #5 en: Martes 27 de Enero de 2004, 15:14 »
0
ola avavlon no ocurre nada sigue si aparecerme ningun formulario ni dar ningun error.

ola :D

Avalon

  • Miembro MUY activo
  • ***
  • Mensajes: 448
    • Ver Perfil
Re: Podeis Decirmexq No M Funciona Este Codigo?¿?¿?
« Respuesta #6 en: Martes 27 de Enero de 2004, 15:38 »
0
El problema está en estas líneas de código:

Código: Text
  1. if ($id_cliente) {
  2.     // editamos el registro seleccionado
  3.     $sql = "SELECT * FROM usuarios WHERE id_cliente=$id_cliente";
  4.     $result = mysql_query($sql);
  5.     $myrow = mysql_fetch_array($result);
  6.     $id_cliente = $myrow["id_cliente"];
  7.    $nombre = $myrow["nombre"];
  8.     $apellidos= $myrow["apellidos"];
  9.     $telefono = $myrow["telefono"];
  10.     $mail = $myrow["mail"];
  11.  
  12.     // enviamos el id para poder editar el registro
  13.     echo "id :  <input type=text  size=10 name=\"id_cliente\" value=$id_cliente><br>";
  14.  
  15.  
  16.  
  17. ?>
  18.  
  19. Nombre :  <input type="Text" size="50" name="nombre" id="nombre" value="<?php echo $nombre ?>"><br>
  20. Apellidos :  <input type="Text" size="100" name="apellidos" value="<?php echo $apellidos ?>"><br>
  21. Email :  <input type="Text" size="150" name="mail" value="<?php echo $mail ?>"><br>
  22.  
  23. <input type="Submit" name="enviar" value="Enviar Información">
  24. </form>
  25. <?
  26. echo $nombre;
  27. ?>
  28. <?php
  29.  
  30. } // End If if ($enviar)
  31.  


La llave del final no hace referencia al if($enviar) del principio sinó al if($id_cliente). Lo que tienes que hacer es cerrar este if más arriba para que también aparezca el formulario si no existe un id_cliente, con lo que te quedaría así:

Código: Text
  1. if ($id_cliente) {
  2.     // editamos el registro seleccionado
  3.     $sql = "SELECT * FROM usuarios WHERE id_cliente=$id_cliente";
  4.     $result = mysql_query($sql);
  5.     $myrow = mysql_fetch_array($result);
  6.     $id_cliente = $myrow["id_cliente"];
  7.    $nombre = $myrow["nombre"];
  8.     $apellidos= $myrow["apellidos"];
  9.     $telefono = $myrow["telefono"];
  10.     $mail = $myrow["mail"];
  11.  
  12.     // enviamos el id para poder editar el registro
  13.     echo "id :  <input type=text  size=10 name=\"id_cliente\" value=$id_cliente><br>";
  14.  
  15. } // End If if ($id_cliente)
  16.  
  17. ?>
  18.  
  19. Nombre :  <input type="Text" size="50" name="nombre" id="nombre" value="<?php echo $nombre ?>"><br>
  20. Apellidos :  <input type="Text" size="100" name="apellidos" value="<?php echo $apellidos ?>"><br>
  21. Email :  <input type="Text" size="150" name="mail" value="<?php echo $mail ?>"><br>
  22.  
  23. <input type="Submit" name="enviar" value="Enviar Información">
  24. </form>
  25. <?
  26. echo $nombre;
  27. ?>
  28.  
  29.  


A ver ahora.

Salu2,
Avalon

kassel

  • Nuevo Miembro
  • *
  • Mensajes: 16
    • Ver Perfil
Re: Podeis Decirmexq No M Funciona Este Codigo?¿?¿?
« Respuesta #7 en: Martes 27 de Enero de 2004, 17:12 »
0
ahora funciona aunque mi deseo es que aparecca el formulario de nuevo registro cuando pinche sobre'añadir nuevo registro', y no directamente en la pagina.

ola :D