Foros del Web » Programando para Internet » PHP »

PHP OO Delete para my sql con php

Estas en el tema de Delete para my sql con php en el foro de PHP en Foros del Web. Hola, tengo este codigo para la función DELETE <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title></title> </head> <body> <?php $servidor="localhost"; $base_datos="viajes"; $usuario="root"; $password=""; $conn= mysql_connect($servidor, $usuario, ...
  #1 (permalink)  
Antiguo 15/06/2012, 12:22
 
Fecha de Ingreso: octubre-2010
Mensajes: 32
Antigüedad: 13 años, 6 meses
Puntos: 0
Delete para my sql con php

Hola, tengo este codigo para la función DELETE


<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title></title>
</head>
<body>
<?php
$servidor="localhost";
$base_datos="viajes";
$usuario="root";
$password="";
$conn= mysql_connect($servidor, $usuario, $password)
or die('Alguno de los datos anteriores está mal'.mysql_error($conn));
if(!mysql_select_db($base_datos, $conn))
{
die("ERROR");
}
$result=mysql_query("select * from destinos",$conn);
?>
<form name="eliminar-registro" method="post" action="<?php $_SERVER['PHP_SELF']; ?>" >
<input name="id" type="hidden" value="<?php echo $row['IDDESTINOS']; ?>" />
<TABLE BORDER=1 CELLSPACING=1 CELLPADDING=1>
<TR><TD>&nbsp;<B>IDDESTINOS</B></TD> <TD>&nbsp;<B>NOMBRE</B>&nbsp;</TD> <TD>&nbsp;<B>Borrar</B>&nbsp;</TD></TR>
<?php

while($row = mysql_fetch_array($result)) {
printf("<tr><td>&nbsp;%s</td><td>&nbsp;%s&nbsp;</td><td><a href='./index.php?IDSECCION=13&ACCION=2&id=$row[IDDESTINOS]'>Eliminar</a></td></tr>", $row["IDDESTINOS"],$row["NOMBRE"]);
}
mysql_free_result($result);
mysql_close($conn);

?>
</table>
</form>

</body>
</html>
y lo que quiero realizar es que una vez eliminado el registro vuelva a cargar la misma página. Cómo lo podría realizar?

Gracias!
  #2 (permalink)  
Antiguo 15/06/2012, 12:42
 
Fecha de Ingreso: enero-2006
Ubicación: Lima
Mensajes: 20
Antigüedad: 18 años, 3 meses
Puntos: 2
Respuesta: Delete para my sql con php

imagino que ese archivo donde esta tu grid es tu index entonces veo que en tu link para eliminar mandas variables y entre ellas una con nombre ACCION entonces esto nos servira para itentificar la accion.

no va hacer falta redireccionar nada por que eliminamos antes que cargues el array con los datos de la tabla destinos.

Código PHP:
Ver original
  1. <?php
  2. $servidor="localhost";
  3. $base_datos="viajes";
  4. $usuario="root";
  5. $password="";
  6. $conn= mysql_connect($servidor, $usuario, $password)
  7. or die('Alguno de los datos anteriores está mal'.mysql_error($conn));
  8. if(!mysql_select_db($base_datos, $conn))
  9. {
  10. die("ERROR");
  11. }
  12.  
  13. if (isset($_GET["ACCION"]))
  14. {
  15. mysql_query("DELETE FROM `destinos` WHERE `id`='".$_GET["IDDESTINOS"]."'; ");  
  16. }
  17.  
  18. $result=mysql_query("select * from destinos",$conn);
  19. ?>
  20. <form name="eliminar-registro" method="post" action="<?php $_SERVER['PHP_SELF']; ?>" >
  21. <input name="id" type="hidden" value="<?php echo $row['IDDESTINOS']; ?>" />
  22. <TABLE BORDER=1 CELLSPACING=1 CELLPADDING=1>
  23. <TR><TD>&nbsp;<B>IDDESTINOS</B></TD> <TD>&nbsp;<B>NOMBRE</B>&nbsp;</TD> <TD>&nbsp;<B>Borrar</B>&nbsp;</TD></TR>
  24. <?php
  25.  
  26. while($row = mysql_fetch_array($result)) {
  27. printf("<tr><td>&nbsp;%s</td><td>&nbsp;%s&nbsp;</td><td><a href='./index.php?IDSECCION=13&ACCION=2&id=$row[IDDESTINOS]'>Eliminar</a></td></tr>", $row["IDDESTINOS"],$row["NOMBRE"]);
  28. }
  29. mysql_close($conn);
  30.  
  31. ?>
  32. </table>
  33. </form>
  34.  
  35. </body>
  36. </html>

nota: debes validar los datos de ingreso por get para evitar inyecciones sql
  #3 (permalink)  
Antiguo 15/06/2012, 13:14
 
Fecha de Ingreso: octubre-2010
Mensajes: 32
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: Delete para my sql con php

Hola Gracias por tu respuesta! te cuento, la variable ACCION es de un switch en donde tengo todas las funciones, la de borrar es la 2.. por eso mi parte de codigo: './index.php?IDSECCION=13&ACCION=2&.
De todos modos, con el código que me enviaste veré si puedo modificar la función y ver si funciona. Gracias!
  #4 (permalink)  
Antiguo 15/06/2012, 13:19
 
Fecha de Ingreso: octubre-2010
Mensajes: 32
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: Delete para my sql con php

Funciona pero cuando presiono eliminar me muestra una página en blanco, lo que quiero es que me muestre nuevamente el listado de los datos. Si me pueden ayudar..
  #5 (permalink)  
Antiguo 15/06/2012, 14:07
Avatar de djsos  
Fecha de Ingreso: septiembre-2007
Ubicación: Madrid-España
Mensajes: 374
Antigüedad: 16 años, 7 meses
Puntos: 14
Respuesta: Delete para my sql con php

Solucion A:
Coje tu pagina index actual y en la parte superior antes de generar ningun otro codigo html metes la funcion para eliminar hay, despues de eliminar se correaa el resto del codigo normalmente.

Solucion B:
La funcion delete esta en otro archivo que es llamado desde el boton borrar, esta funcion cuando finaliza hace un header("Location : index.php"); que remitira de nuevo a la pagina index

Un saludo

PD: esto no es PHPOO
__________________
Es de bien nacidos ser agradecidos.
Desarrollo de software a medida | TPV Comercios

Etiquetas: delete, html, mysql, registro, sql, usuarios
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 16:46.