Foros del Web » Programando para Internet » PHP »

Mostrar mensaje si no hay valor...

Estas en el tema de Mostrar mensaje si no hay valor... en el foro de PHP en Foros del Web. Tengo una query a una base de datos: Código PHP: $query  =  "SELECT * FROM mitabla ORDER by apellidos ASC" ; $result  =  mysql_query  ( $query ) or die ( 'Fallo: '  .  mysql_error ());  Esta ...
  #1 (permalink)  
Antiguo 29/04/2010, 08:25
Avatar de andrewp  
Fecha de Ingreso: agosto-2003
Ubicación: Barcelona
Mensajes: 1.160
Antigüedad: 20 años, 8 meses
Puntos: 5
Mostrar mensaje si no hay valor...

Tengo una query a una base de datos:

Código PHP:
$query "SELECT * FROM mitabla ORDER by apellidos ASC";
$result mysql_query ($query) or die ('Fallo: ' mysql_error()); 
Esta query tiene un "while" que se encarga de listarme toda la información extraída por la misma query:

Código PHP:
$query "SELECT * FROM mitabla ORDER by apellidos ASC";
$result mysql_query ($query) or die ('Fallo: ' mysql_error());

while (
$row mysql_fetch_array($resultMYSQL_NUM)) { 
Hasta aquí todo bien... Pero muchas veces esa base de datos no tiene valores. Así, que me gustaría mostrar un mensaje que me diga "De momento no hay usuarios en la Base de datos!"...

Mi intento fallido:


Código PHP:
$query "SELECT * FROM mitabla ORDER by apellidos ASC";
$result mysql_query ($query) or die ('Fallo: ' mysql_error());

while (
$row mysql_fetch_array($resultMYSQL_NUM)) {

if (!
$result) {
     die(
'De momento no hay usuarios en la Base de datos! ' mysql_error());
 }
 else if (
$result)
 {
 
el resto de código que lista los usuarios de mi BD... 
Donde esta mi error?

Gracias por vuestra ayuda.
__________________
Andrew :P

Última edición por andrewp; 29/04/2010 a las 08:26 Razón: corrección ortográfica
  #2 (permalink)  
Antiguo 29/04/2010, 08:27
Avatar de darkasecas  
Fecha de Ingreso: marzo-2005
Ubicación: SantaCata, NL, Mexico
Mensajes: 1.553
Antigüedad: 19 años, 1 mes
Puntos: 77
Respuesta: Mostrar mensaje si no hay valor...

RTFM.
mysql_query() devuelve false solo si hay un error al ejecutar la consulta, de lo contrario devuelve un resource, aun si la consulta no devuelve resultados.
Para saber el numero de registros que devuelve la consulta puedes usar mysql_num_rows()
  #3 (permalink)  
Antiguo 29/04/2010, 08:28
Avatar de gjx2  
Fecha de Ingreso: agosto-2008
Ubicación: R.D
Mensajes: 1.153
Antigüedad: 15 años, 8 meses
Puntos: 139
Respuesta: Mostrar mensaje si no hay valor...

Por que no utilizas mysql_num_rows
  #4 (permalink)  
Antiguo 29/04/2010, 08:30
Avatar de andrewp  
Fecha de Ingreso: agosto-2003
Ubicación: Barcelona
Mensajes: 1.160
Antigüedad: 20 años, 8 meses
Puntos: 5
Respuesta: Mostrar mensaje si no hay valor...

Lo siento!... Se me quedó en el tintero... La query quedaría más o menos así:

Código PHP:
$query "SELECT * FROM mitabla ORDER by apellidos ASC";
$result mysql_query ($query) or die ('Fallo: ' mysql_error());
$num mysql_num_rows($result);

while (
$row mysql_fetch_array($resultMYSQL_NUM)) {

if (!
$result) {
     die(
'De momento no hay usuarios en la Base de datos! ' mysql_error());
 }
 else if (
$result)
 {
 
el resto de codigo que lista los usuarios de mi BD... 
Pero no tengo el mensaje esperado si no hay valor
__________________
Andrew :P
  #5 (permalink)  
Antiguo 29/04/2010, 08:35
fiu
 
Fecha de Ingreso: diciembre-2006
Ubicación: Barcelona
Mensajes: 128
Antigüedad: 17 años, 4 meses
Puntos: 8
Respuesta: Mostrar mensaje si no hay valor...

como dice gjx2

if(mysql_num_rows($result)!=0) {...} else {...}
  #6 (permalink)  
Antiguo 29/04/2010, 08:40
Avatar de andrewp  
Fecha de Ingreso: agosto-2003
Ubicación: Barcelona
Mensajes: 1.160
Antigüedad: 20 años, 8 meses
Puntos: 5
Respuesta: Mostrar mensaje si no hay valor...

Código PHP:
$query "SELECT * FROM mitabla ORDER by apellidos ASC";
$result mysql_query ($query) or die ('Fallo: ' mysql_error());
$num mysql_num_rows($result);

while (
$row mysql_fetch_array($resultMYSQL_NUM)) {

if (
mysql_num_rows($result)!=0) {
     echo 
"De momento no hay usuarios en la Base de datos";
 } else {
 
el resto de codigo que lista los usuarios de mi BD...

No me funciona tampoco....
__________________
Andrew :P
  #7 (permalink)  
Antiguo 29/04/2010, 08:51
fiu
 
Fecha de Ingreso: diciembre-2006
Ubicación: Barcelona
Mensajes: 128
Antigüedad: 17 años, 4 meses
Puntos: 8
Respuesta: Mostrar mensaje si no hay valor...

seria al reves
Código PHP:
Ver original
  1. if (mysql_num_rows($result)!=0) {
  2.      el resto de codigo que lista los usuarios de mi BD...
  3.  } else {
  4.   echo "De momento no hay usuarios en la Base de datos";
  5. }
  #8 (permalink)  
Antiguo 29/04/2010, 13:58
Avatar de andrewp  
Fecha de Ingreso: agosto-2003
Ubicación: Barcelona
Mensajes: 1.160
Antigüedad: 20 años, 8 meses
Puntos: 5
Respuesta: Mostrar mensaje si no hay valor...

Hey Fiu... Gracias por tu respuesta... Solo una duda más... Asumiendo que los códigos obedecen a procesos matemáticos, por qué si hago esto:

Código PHP:
if (mysql_num_rows($result)=0) {
echo 
"De momento no hay usuarios en la Base de datos";
} else {
el resto de codigo que lista los usuarios de mi BD...

no funciona?....
__________________
Andrew :P
  #9 (permalink)  
Antiguo 29/04/2010, 14:12
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Mostrar mensaje si no hay valor...

Porque en PHP usas el simbolo == para comparar, el simbolo = es para asignar.

Saludos.
  #10 (permalink)  
Antiguo 03/05/2010, 12:45
Avatar de andrewp  
Fecha de Ingreso: agosto-2003
Ubicación: Barcelona
Mensajes: 1.160
Antigüedad: 20 años, 8 meses
Puntos: 5
De acuerdo Respuesta: Mostrar mensaje si no hay valor...

Estupendo!...

Gracias por vuestra ayuda y respuestas... Siempre aprendiendo cosas interesantes.

Saludos!

POST RESUELTO
__________________
Andrew :P
  #11 (permalink)  
Antiguo 26/10/2010, 02:39
 
Fecha de Ingreso: noviembre-2005
Mensajes: 86
Antigüedad: 18 años, 4 meses
Puntos: 0
Respuesta: Mostrar mensaje si no hay valor...

Cita:
Iniciado por GatorV Ver Mensaje
Porque en PHP usas el simbolo == para comparar, el simbolo = es para asignar.

Saludos.
Muchas gracias por la aclaración GatorV. Yo tambien tenia una duda sobre este tema ..... y me lo has aclarado. Perfecto.

Etiquetas: mensaje
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 08:34.