Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Borrar registro

Estas en el tema de Borrar registro en el foro de PHP en Foros del Web. Tengo el código adjunto y quiero poner a la derecha de cada fila un enlace para borrar y otro para actualizar ese mismo registro. El ...
  #1 (permalink)  
Antiguo 15/07/2015, 11:35
 
Fecha de Ingreso: diciembre-2014
Ubicación: Madrid
Mensajes: 274
Antigüedad: 9 años, 4 meses
Puntos: 5
Borrar registro

Tengo el código adjunto y quiero poner a la derecha de cada fila un enlace para borrar y otro para actualizar ese mismo registro. El de borrar sería enlazando de alguna forma para que ejecute
Código SQL:
Ver original
  1. DELETE FROM pedidos WHERE cliente='$row["cliente"]'
¿Cómo se puede hacer eso con un <a>? Y por favor díganme también la fórmula para actualizar el registro (¿se tendría que hacer en otra página, ¿no??).
  #2 (permalink)  
Antiguo 15/07/2015, 11:35
 
Fecha de Ingreso: diciembre-2014
Ubicación: Madrid
Mensajes: 274
Antigüedad: 9 años, 4 meses
Puntos: 5
Respuesta: Borrar registro

Código PHP:
Ver original
  1. <?php
  2. $usuario = "root";
  3. $pass = "";
  4. $host = "localhost";
  5. $base = "AppSastre";
  6.  
  7. $db = new mysqli($host, $usuario, $pass, $base);
  8. if($db->connect_error) {
  9.     die('Error de conexión ('.$db->connect_errno.')'
  10.         .$db->connect_errno);
  11. }$consulta = $db->query("SELECT * FROM pedidos");
  12. ?>
  13. <html>
  14. <head>
  15. <title>Pedidos</title>
  16. </head>
  17. <body>
  18. <table align="center" border="2" style="border-collapse:collapse;">
  19. <tr>
  20. <th>Cliente</th>
  21. <th>Prenda</th>
  22. <th>Precio</th>
  23. </tr>
  24. <?php
  25. header('Content-Type: text/html; charset=UTF-8');
  26. while ($row=$consulta->fetch_array())
  27. {
  28. echo '<tr><td align="center">'.$row['cliente'].'</td>';
  29. echo '<td align="center">'.$row['prenda'].'</td>';
  30. echo '<td align="center">'.$row['precio'].' €.</td></tr>';
  31. echo '<td align="center"><a href'
  32. }
  33. ?>
  34. </table>
  35. </body>
  36. </html>
  #3 (permalink)  
Antiguo 15/07/2015, 11:39
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 10 meses
Puntos: 263
Respuesta: Borrar registro

Código PHP:
Ver original
  1. while ($row=$consulta->fetch_array())
  2. {
  3. echo '<tr><td align="center">'.$row['cliente'].'</td>';
  4. echo '<td align="center">'.$row['prenda'].'</td>';
  5. echo '<td align="center">'.$row['precio'].' €.</td></tr>';
  6. echo '<td align="center"><a href='modifica.php?id="'.$row['id'].'">Modificar</a></td>'
  7. }
  #4 (permalink)  
Antiguo 15/07/2015, 11:40
 
Fecha de Ingreso: diciembre-2014
Ubicación: Madrid
Mensajes: 274
Antigüedad: 9 años, 4 meses
Puntos: 5
Respuesta: Borrar registro

Vale, eso para modificar. ¿Y para eliminar?
  #5 (permalink)  
Antiguo 15/07/2015, 11:42
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 10 meses
Puntos: 263
Respuesta: Borrar registro

igual pero en la pagina que recibe indicas en la consulta que debe borrar el registro que corresponda a la id que estas pasando y listo
  #6 (permalink)  
Antiguo 15/07/2015, 11:42
Avatar de chronos682  
Fecha de Ingreso: febrero-2004
Ubicación: Tunja - Boyacá - Colombia
Mensajes: 627
Antigüedad: 20 años, 2 meses
Puntos: 69
Respuesta: Borrar registro

No es necesario que sea en otra página, colocas la etiqueta <a y en href colocas el nombre de tu archivo php seguido de estom:

Código HTML:
Ver original
  1. <a href='archivo.php?eliminar=".$row['cliente']."'>Eliminar</a>

Y luego programas en php que adquiera el id del cliente a partir de la variable $_GET['eliminar'].
__________________
Si te gustó la respuesta dale +1

HERNÁN G. SIABATO M.
[email protected]
  #7 (permalink)  
Antiguo 15/07/2015, 11:43
 
Fecha de Ingreso: diciembre-2014
Ubicación: Madrid
Mensajes: 274
Antigüedad: 9 años, 4 meses
Puntos: 5
Respuesta: Borrar registro

No me pasa el ID con esa fórmula.
  #8 (permalink)  
Antiguo 15/07/2015, 11:46
 
Fecha de Ingreso: diciembre-2014
Ubicación: Madrid
Mensajes: 274
Antigüedad: 9 años, 4 meses
Puntos: 5
Respuesta: Borrar registro

Para hacer el actualizar en la nueva página, ¿en la nueva puedo crear una nueva variable así:?

Código PHP:
Ver original
  1. $id = $_GET['id'];
  #9 (permalink)  
Antiguo 15/07/2015, 11:54
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 10 meses
Puntos: 263
Respuesta: Borrar registro

Cita:
Iniciado por chronos682 Ver Mensaje
No es necesario que sea en otra página, colocas la etiqueta <a y en href colocas el nombre de tu archivo php seguido de estom:

Código HTML:
Ver original
  1. <a href='archivo.php?eliminar=".$row['cliente']."'>Eliminar</a>

Y luego programas en php que adquiera el id del cliente a partir de la variable $_GET['eliminar'].
eso es valido, auque cuando se borran registros es mejor que sea en otra pagina de esa forma puedes validar si es el registro o te equivocaste antes de que este sea borrado, es cuestion de opiniones y va a depender de la funcionalidad que le van a dar a la pagina
  #10 (permalink)  
Antiguo 15/07/2015, 11:59
 
Fecha de Ingreso: diciembre-2014
Ubicación: Madrid
Mensajes: 274
Antigüedad: 9 años, 4 meses
Puntos: 5
Respuesta: Borrar registro

Pero yo tengo dos problemas. El primero es que no me pasa el ID de una página a la otra. Y al pasar a la segunda página según el ID, para mostrar todos los datos, ¿cómo lo hago? Es decir, para la página de actualizar
  #11 (permalink)  
Antiguo 15/07/2015, 12:23
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 10 meses
Puntos: 263
Respuesta: Borrar registro

mano tienes que ser un poco intuitivo con estas cosas, ya casi te estamos haciendo la aplicacion.

Debes crear un formulario en la pagina que recibe los datos y luego mostrarlos mediante una consulta

algo asi:

Código PHP:
Ver original
  1. <?php
  2. $carga = $_get['id'];
  3.  
  4. $mysqli = new MySQLi(HOST, USUARIO, PASS, BASE);
  5. $result = $mysqli->query("SELECT * FROM TABLA WHERE '$carga'");
  6. $row_result = $result->fetch_assoc();
  7. $totalRows_result = mysqli_num_rows($result);
  8. ?>

luego debes cargar los campos dentro de los input:

Código HTML:
Ver original
  1. <input type="text" name="loquesea" value="<?php echo $row_result['nombre']; ?>/>

y asi con todos
  #12 (permalink)  
Antiguo 15/07/2015, 14:09
 
Fecha de Ingreso: diciembre-2014
Ubicación: Madrid
Mensajes: 274
Antigüedad: 9 años, 4 meses
Puntos: 5
Respuesta: Borrar registro

No me funciona. No me carga el ID en el GET desde el archivo principal.
  #13 (permalink)  
Antiguo 15/07/2015, 14:22
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 10 meses
Puntos: 263
Respuesta: Borrar registro

postea el codigo completo a ver que pasa
  #14 (permalink)  
Antiguo 15/07/2015, 14:24
 
Fecha de Ingreso: diciembre-2014
Ubicación: Madrid
Mensajes: 274
Antigüedad: 9 años, 4 meses
Puntos: 5
Respuesta: Borrar registro

Código PHP:
Ver original
  1. <?php
  2. header('Content-Type=text/html; charset=UTF-8');
  3. ?>
  4. <?php
  5. $usuario = "root";
  6. $pass = "";
  7. $host = "localhost";
  8. $base = "AppSastre";
  9.  
  10. $db = new mysqli($host, $usuario, $pass, $base);
  11. if($db->connect_error) {
  12.     die('Error de conexión ('.$db->connect_errno.')'
  13.         .$db->connect_errno);
  14. }$consulta = $db->query("SELECT * FROM pedidos");
  15. ?>
  16. <html>
  17. <head>
  18. <title>Pedidos</title>
  19. </head>
  20. <body>
  21. <table align="center" border="2" style="border-collapse:collapse;font-family: Georgia;">
  22. <tr>
  23. <th>Cliente</th>
  24. <th>Prenda</th>
  25. <th>Precio</th>
  26. <th>Opciones</th>
  27. </tr>
  28. <?php
  29. header('Content-Type: text/html; charset=UTF-8');
  30. while ($row=$consulta->fetch_array())
  31. {
  32. echo '<tr><td align="center">'.$row['cliente'].'</td>';
  33. echo '<td align="center">'.$row['prenda'].'</td>';
  34. echo '<td align="center">'.$row['precio'].' €</td>';
  35. echo '<form method="get" action="modifica.php"><input type="submit" value="Eliminar registro"></form>';
  36. }
  37.  
  38.  
  39.  
  40.  
  41. /*
  42. <?php
  43. '<td align="center"><a href="#">Eliminar</a> o <a href="modifica.php?id="'.$row['id'].'">Modificar</a></td></tr>';
  44. }
  45. mysqli_close($db);
  46. ?>
  47. </table>
  48. </body>
  49. </html>
  50. */
  51. ?>
Lo que hay etiquetado es porque justo ahora estoy haciendo cambios
  #15 (permalink)  
Antiguo 15/07/2015, 14:31
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 10 meses
Puntos: 263
Respuesta: Borrar registro

esto no vaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa!!!!!!!!!!!!!! !!!!!
Código HTML:
Ver original
  1. <form method="get" action="modifica.php"><input type="submit" value="Eliminar registro"></form>

crea un enlace y si quieres que se vea como un boton aplica css:

este si
Código HTML:
Ver original
  1. <a href='archivo.php?id=".$row['id']."'>Eliminar</a>

no te pasa la variable id porque no la estas cargando
  #16 (permalink)  
Antiguo 15/07/2015, 15:45
 
Fecha de Ingreso: diciembre-2014
Ubicación: Madrid
Mensajes: 274
Antigüedad: 9 años, 4 meses
Puntos: 5
Respuesta: Borrar registro

Tengo esto y no funciona:
Código PHP:
Ver original
  1. <?php
  2. $carga = $_GET['id'];
  3. $mysqli = new MySQLi('localhost', 'root', '', 'AppSastre');
  4. $result = $mysqli->query("SELECT * FROM pedidos WHERE $carga = id AND $cliente = cliente AND $prenda = prenda AND $precio = precio");
  5. $row_result = $result->fetch_assoc();
  6. $totalRows_result = mysqli_num_rows($result);
  7. ?>
  8. <html>
  9. <head>
  10. <title>Modificar registro</title>
  11. </head>
  12. <body>
  13. <form action="guardarcambios.php" method="post">¢
  14.     <input type="text" value="<?php echo $cliente?>"/>
  15. </form>
  16. </body>
  17. </html>
Me salen los errores:
Notice: Undefined index: id in /Applications/XAMPP/xamppfiles/htdocs/sastre/modificar.php on line 2

Notice: Undefined variable: cliente in /Applications/XAMPP/xamppfiles/htdocs/sastre/modificar.php on line 4

Notice: Undefined variable: prenda in /Applications/XAMPP/xamppfiles/htdocs/sastre/modificar.php on line 4

Notice: Undefined variable: precio in /Applications/XAMPP/xamppfiles/htdocs/sastre/modificar.php on line 4

Fatal error: Call to a member function fetch_assoc() on boolean in /Applications/XAMPP/xamppfiles/htdocs/sastre/modificar.php on line 5

Dice que no he definido los tres campos pero, ¿no los he definido donde el MySQL?

Además, ¿en el archivo guardar_cambios.php basta con poner el código UPDATE...?
  #17 (permalink)  
Antiguo 15/07/2015, 16:11
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 10 meses
Puntos: 263
Respuesta: Borrar registro

cambia esto:
Código PHP:
Ver original
  1. "SELECT * FROM pedidos WHERE $carga = id AND $cliente = cliente AND $prenda = prenda AND $precio = precio"

por esto:
Código PHP:
Ver original
  1. "SELECT * FROM pedidos WHERE id = '$carga' "
estas filtrando datos que no estas enviando y la consulta estaba mal prueba nuevamente
  #18 (permalink)  
Antiguo 15/07/2015, 16:12
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 10 meses
Puntos: 263
Respuesta: Borrar registro

por cierto esto aqui no se que piensas hacer con ello???????????????
Código HTML:
Ver original
  1. <title>Modificar registro</title>
  2. </head>
  3. <form action="guardarcambios.php" method="post">¢
  4.     <input type="text" value="<?php echo $cliente?>"/>
  5. </form>
  6. </body>
  7. </html>
  #19 (permalink)  
Antiguo 15/07/2015, 16:16
 
Fecha de Ingreso: diciembre-2014
Ubicación: Madrid
Mensajes: 274
Antigüedad: 9 años, 4 meses
Puntos: 5
Respuesta: Borrar registro

Lo que estoy haciendo es un campo para cada campo (valga la redundancia) y que se pueda modificar.
  #20 (permalink)  
Antiguo 15/07/2015, 16:37
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 10 meses
Puntos: 263
Respuesta: Borrar registro

lo estas haciendo mal, asi es que te tien que quedar:
Código PHP:
Ver original
  1. <?php
  2. $carga = $_GET['id'];
  3.  
  4. $mysqli = new MySQLi('localhost', 'root', '', 'AppSastre');
  5. $result = $mysqli->query("SELECT * FROM pedidos WHERE id = '$carga'");
  6. $row_result = $result->fetch_assoc();
  7. $totalRows_result = mysqli_num_rows($result);
  8.  
  9. ?>
  10. <html>
  11. <head>
  12. <title>Modificar registro</title>
  13. </head>
  14. <body>
  15. <form action="guardarcambios.php" method="post">¢
  16.     <input type="text" name="cliente" value="<?php echo $row_result['cliente']; ?>"/>
  17.     <br>
  18.     <br>
  19.     <input type="text" name="prenda" value="<?php echo $row_result['prenda']; ?>"/>
  20.     <br>
  21.     <br>
  22.     <input type="text" name="precio" value="<?php echo $row_result['preco']; ?>"/>
  23.     <br>
  24.     <br>
  25.     <input type="submit" value="Actualizar"/>
  26.     </form>
  27. </body>
  28. </html>
  #21 (permalink)  
Antiguo 15/07/2015, 16:37
Avatar de NueveReinas  
Fecha de Ingreso: septiembre-2013
Ubicación: No tan Buenos Aires
Mensajes: 1.101
Antigüedad: 10 años, 7 meses
Puntos: 145
Respuesta: Borrar registro

Me parece a mí que esta consulta no está bien estructurada.

Código SQL:
Ver original
  1. $result = $mysqli->query("SELECT * FROM pedidos WHERE $carga = id AND $cliente = cliente AND $prenda = prenda AND $precio = precio");
__________________
¿Te sirvió la respuesta? Deja un +1

Etiquetas: registro
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 13:29.