Foros del Web » Programando para Internet » PHP »

Borrar noticia

Estas en el tema de Borrar noticia en el foro de PHP en Foros del Web. Buenas noches, el tema es el siguiente, tengo éste código que funciona de 10 para borrar una noticia, pero el único problema que tengo es ...
  #1 (permalink)  
Antiguo 15/06/2012, 16:58
 
Fecha de Ingreso: junio-2012
Mensajes: 46
Antigüedad: 11 años, 10 meses
Puntos: 1
Borrar noticia

Buenas noches, el tema es el siguiente, tengo éste código que funciona de 10 para borrar una noticia, pero el único problema que tengo es que al borrar una noticia me envía el mensaje que se borró el articulo pero me queda el botón ELIMINAR en pantalla. Habrá una forma de ocultar ésto una vez que ya borré la noticia?

Les dejo el código.

Código PHP:
Ver original
  1. <?php
  2. /** conexion ***************************/
  3. // conectamos a la base de datos
  4. $link = mysql_connect('', '');
  5. if(!$link) {
  6. die("Error al intentar conectar: ".mysql_error());
  7. }
  8. // seleccionamos la base de datos
  9. $db_link = mysql_select_db('', $link);
  10. if(!$db_link) {
  11. die("Error al intentar seleccionar la base de datos". mysql_error());
  12. }
  13. /** fin conexion ************************/
  14. // comprovamos si
  15. // ha sido enviado el formulario
  16. if(isset($_POST['eliminar']) && $_POST['eliminar'] == 'Eliminar'){
  17. // creamos la consulta
  18. // que eliminara el registro
  19. // que viene via $_POST
  20. $id_eliminar = $_POST['id'];
  21. $sqlEliminar = mysql_query("DELETE FROM noticia
  22. WHERE id = $id_eliminar", $link)
  23. // enviamos un mensage de exito
  24. $mensaje =  "El registro a sido eliminado";
  25. }
  26. // si no ha sido enviado el formulario aun
  27. // recogemos el ID
  28. // del registro a eliminar
  29. // via $_GET
  30. elseif(isset($_GET['id'])){
  31. $id = $_GET['id'];
  32. // hacemos una consulta
  33. // para mostrar el registro
  34. // que vamos a eliminar
  35. $sql = mysql_query("SELECT * FROM noticia
  36. WHERE id = $id", $link)
  37. $row = mysql_fetch_array($sql);
  38. // advertimos
  39. $mensaje =  "¿Está seguro que quiere eliminar el articulo <b>$row[titulo]</b>?";
  40. }
  41. // mostramos el mensage
  42. echo $mensaje;
  43. ?>
  44. <!-- creamos el formulario HTML
  45. que enviara el ID
  46. del registro a eliminar  -->
  47. <form name="eliminar-registro" method="post" action="<?php $_SERVER['PHP_SELF']; ?>" >
  48. <input name="id" type="hidden" value="<?php echo $row['id']; ?>" />
  49. <input name="eliminar" type="submit" value="Eliminar" />
  50. </form>

Y les dejo una imagen para que vean a lo que me refiero.



Saludos !
  #2 (permalink)  
Antiguo 15/06/2012, 17:04
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 19 años
Puntos: 394
Respuesta: Borrar noticia

Código PHP:
Ver original
  1. <?php
  2. echo ($sqlEliminar === FALSE)?'<input name="eliminar" type="submit" value="Eliminar" />':'Eliminado...!';
  3. ?>
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???
  #3 (permalink)  
Antiguo 15/06/2012, 17:10
 
Fecha de Ingreso: junio-2012
Mensajes: 46
Antigüedad: 11 años, 10 meses
Puntos: 1
Respuesta: Borrar noticia

Y en que parte agregaría esa linea ?
  #4 (permalink)  
Antiguo 16/06/2012, 02:10
Avatar de oscartt67  
Fecha de Ingreso: abril-2012
Ubicación: fonollosa
Mensajes: 481
Antigüedad: 12 años
Puntos: 97
Respuesta: Borrar noticia

aquí.
Código PHP:
<!-- creamos el formulario HTML
que enviara el ID
del registro a eliminar  -->
<form name="eliminar-registro" method="post" action="<?php $_SERVER['PHP_SELF']; ?>" >
<input name="id" type="hidden" value="<?php echo $row['id']; ?>" />
<? echo ($sqlEliminar === FALSE)?'<input name="eliminar" type="submit" value="Eliminar" />':'Eliminado...!';?>
</form>
saludos.
  #5 (permalink)  
Antiguo 16/06/2012, 21:22
 
Fecha de Ingreso: junio-2012
Mensajes: 46
Antigüedad: 11 años, 10 meses
Puntos: 1
Respuesta: Borrar noticia

No me funcionó :(

Ahora siempre me muestra el "Eliminado...!"
  #6 (permalink)  
Antiguo 17/06/2012, 11:53
Avatar de oscartt67  
Fecha de Ingreso: abril-2012
Ubicación: fonollosa
Mensajes: 481
Antigüedad: 12 años
Puntos: 97
Respuesta: Borrar noticia

Código PHP:
<? echo ($sqlEliminar === TRUE && $_POST['eliminar']=='Eliminar')?:'Eliminado...!':'<input name="eliminar" type="submit" value="Eliminar" />';?>
Prueba así.

Última edición por oscartt67; 17/06/2012 a las 12:05
  #7 (permalink)  
Antiguo 17/06/2012, 13:06
 
Fecha de Ingreso: marzo-2012
Ubicación: A Coruña
Mensajes: 29
Antigüedad: 12 años, 1 mes
Puntos: 1
Respuesta: Borrar noticia

Si te funciona tal y como te recomienda Óscar pues genial. Pero yo te habría respondido de otra forma que, si es que funciona (que creo que debería) me parece más simple.

Cuando muestras el formulario de HTML, pregunta primero si no ha sido pulsado el botón, y muéstralo sólo en este caso. Así, justo debajo de echo $mensaje:

Código:
if((!isset($_POST['eliminar']))){
    ?>
    <!-- creamos el formulario HTML que enviara el ID del registro a eliminar  -->
    <form name="eliminar-registro" method="post" action="<?php   $_SERVER['PHP_SELF']; ?>" >
     <input name="id" type="hidden" value="<?php echo $row['id']; ?>" />
     <input name="eliminar" type="submit" value="Eliminar" />
     </form>
     <?php
}
  #8 (permalink)  
Antiguo 18/06/2012, 00:35
 
Fecha de Ingreso: junio-2012
Mensajes: 46
Antigüedad: 11 años, 10 meses
Puntos: 1
Respuesta: Borrar noticia

Gracias el_cos, no me había funcionado así que hice eso mismo, escribí el formulario directamente en el echo.

Gracias de todas formas !

Etiquetas: formulario, html, mysql, noticia, 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 05:30.