Foros del Web » Programando para Internet » PHP »

No me muestra mensaje echo

Estas en el tema de No me muestra mensaje echo en el foro de PHP en Foros del Web. Hola de nuevo, estoy acabando una aplicación de base de datos, y tengo un código como este que viene de formulario en el que selecciono ...
  #1 (permalink)  
Antiguo 11/03/2012, 05:01
 
Fecha de Ingreso: enero-2009
Mensajes: 28
Antigüedad: 15 años, 3 meses
Puntos: 0
No me muestra mensaje echo

Hola de nuevo, estoy acabando una aplicación de base de datos, y tengo un código como este que viene de formulario en el que selecciono los registros a borrar en unos checkbox:

Código PHP:
if($_POST){
   
// Realizamos la consulta de eliminación
   
$filas $_POST['fila'];
   
$indice 0;
   
$borrado true;
                
   do{
      
$consulta mysql_query("delete from favoritos where titulo = '" $filas[$indice] . "'");
      if(!
$consulta){
         
$borrado false;
         exit;
      }
      
      
$indice++;
   }while(
$filas);
                
   if(
$borrado){
      echo 
"<h4>Registro(s) borrado(s) correctamente</h4>";
   }else{
      echo 
"<h4>Error al eliminar registro(s): " mysql_error() . "</h4>";
   }
                
   
// Cerramos la conexion
   
mysql_close($conexion);

Como es normal, aunque sea en localhost, al tener que eliminar varios registros o aunque sea uno, el navegador se queda pensando, pero el pequeño problema es que una vez que los elimina (que lo hace correctamente), no me muestra el mensaje que le pido en el if($borrado), tanto si lo hace como si no, ¿cuál puede ser el problema?

Gracias y un saludo.
  #2 (permalink)  
Antiguo 11/03/2012, 05:13
Avatar de OsSk4R  
Fecha de Ingreso: octubre-2006
Ubicación: $this->home
Mensajes: 824
Antigüedad: 17 años, 6 meses
Puntos: 74
Respuesta: No me muestra mensaje echo

No estas usando el if correctamente.
Mira así:
Código PHP:
Ver original
  1. if($borrado == true){
  2.       echo "<h4>Registro(s) borrado(s) correctamente</h4>";
  3.    }else{
  4.       echo "<h4>Error al eliminar registro(s): " . mysql_error() . "</h4>";
  5.    }

Saludos,
  #3 (permalink)  
Antiguo 11/03/2012, 08:37
 
Fecha de Ingreso: enero-2009
Mensajes: 28
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: No me muestra mensaje echo

Hola OsSk4R, gracias por la rápida respuesta, he probado a hacer lo que me dices y sigue sin funcionar, de hecho si hago un sencillo ejemplo en un php aparte funciona poniendo lo que te dije anteriormente:

Código PHP:
<?php
    $variable 
true;
    
    if(
$variable){
        echo 
"<h4>Hola</h4>";
    }else{
        echo 
"<h4>No hay variable</h4>";
    }
?>
De esta forma me muestra en pantalla "Hola", ya que tengo entendido que al poner simplemente 'if($variable)' le estas diciendo a PHP que la variable es true.

No se si me podrás dar tu o alguien alguna idea más.

Muchas gracias de nuevo, un saludo.
  #4 (permalink)  
Antiguo 11/03/2012, 14:03
 
Fecha de Ingreso: marzo-2012
Ubicación: Mexicali
Mensajes: 9
Antigüedad: 12 años, 1 mes
Puntos: 3
Respuesta: No me muestra mensaje echo

Saludos,
Creo q tu problema se encuentra aqui... si no te muestra ningun mensaje echo, yo veo aqui dos errores logicos, no es de codificacion.

Código PHP:
Ver original
  1. do{
  2.       $consulta = mysql_query("delete from favoritos where titulo = '" . $filas[$indice] . "'");
  3.       if(!$consulta){
  4.          $borrado = false;
  5.          exit;
  6.       }
  7.        
  8.       $indice++;
  9.    }while($filas);

primero el uso de "exit" no es para salir del ciclo sino para terminar el script, cambia exit por break, el segundo error esta en el while si $filas siempre lleva datos y no se elimina ninguno tu script se ciclara pues $filas siempre dara true, ahi debes cambiar el while($filas) por while($indice < count($filas) ) para q si no encuentra nada sea liberado del loop.
  #5 (permalink)  
Antiguo 11/03/2012, 15:57
 
Fecha de Ingreso: enero-2009
Mensajes: 28
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: No me muestra mensaje echo

Efectivamente compañero, muchisimas gracias, ahora funciona perfectamente y además, estando en modo local lo hace inmediatamente, sin pensar como antes, que debia ser por lo que dices de estar dandole vueltas al comprobar el true durante ese tiempo.

Gracias de nuevo y un saludo.

Etiquetas: echo, formulario, mensaje, muestra, mysql, 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 14:53.