Foros del Web » Programando para Internet » PHP »

Mostrar X registros de una misma consulta

Estas en el tema de Mostrar X registros de una misma consulta en el foro de PHP en Foros del Web. Hola amigos. Tengo una consulta Quiero desarrollar un script PHP que me selleccione de una tabla donde hay nombres, apellidos y fechas de cumpleaños, quien ...
  #1 (permalink)  
Antiguo 22/05/2012, 11:00
Avatar de Cladam  
Fecha de Ingreso: marzo-2009
Ubicación: En algún lugar en mi mundo
Mensajes: 44
Antigüedad: 15 años
Puntos: 2
Pregunta Mostrar X registros de una misma consulta

Hola amigos. Tengo una consulta

Quiero desarrollar un script PHP que me selleccione de una tabla donde hay nombres, apellidos y fechas de cumpleaños, quien o quienes cumplen años hoy y mostrar sus nombres.

Algo así como: "Hoy cumplen años Juan y Pedro"

EL problema es que nunca sé cuantos cumplen años ese día. Pueden ser uno , dos o más y el query se me complica.

Alguien puede orientarme por favor?

Gracias
  #2 (permalink)  
Antiguo 22/05/2012, 11:14
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 X registros de una misma consulta

Pues un query simple te puede servir:
Código MySQL:
Ver original
  1. SELECT * FROM personas WHERE DATE(fechacump) = '2012-05-22'

Así te puede dar todas las entradas para el día de hoy...
  #3 (permalink)  
Antiguo 22/05/2012, 11:37
Avatar de Cladam  
Fecha de Ingreso: marzo-2009
Ubicación: En algún lugar en mi mundo
Mensajes: 44
Antigüedad: 15 años
Puntos: 2
Respuesta: Mostrar X registros de una misma consulta

Gracias GatorV por la pronta respuesta.

Pero el problema no es la búsqueda, sino como muestro los resultados.

Por ejemplo:
Hoy cumplen años 3 personas, Juan, Pedro y Marcelo

Como hago para que me muestre una cadena de texto que diga:

"Hoy cumplen años Juan, Pedro y Marcelo"

con la cantidad de comas exactas y sin un "y" de más.

Esto lo tendria que hacer en un bucle que cuente los resultados primero y despues arme la cadena en base a la cantidad de personas que encuentre en la db que cumplan años en el día.

Pero mañana cumplen años dos personas y tendria que mostrar

"Hoy cumplen años Luis y Jorge"


Tal vez ahora me explique mejor...disculpas!!!

Última edición por Cladam; 22/05/2012 a las 11:40 Razón: agregar mas info
  #4 (permalink)  
Antiguo 22/05/2012, 11:42
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 X registros de una misma consulta

Pues sencillo:
Código PHP:
Ver original
  1. $total = mysql_num_rows($result);
  2. if ($total > 1) {
  3.      $cumples = array();
  4.      $i = 0;
  5.      while ($row = mysql_fetch_array($result) {
  6.            if ($i == ($total - 1) ) {
  7.                      $last = $row['nombre'];
  8.                      break;
  9.            }
  10.            $cumples[] = $row['nombre'];
  11.            $i++;
  12.      }
  13.  
  14.      $cadena = "hoy cumplen años " . implode(', ', $cumples) . " y $last";
  15. } else {
  16.      $cumple = mysql_fetch_array($result);
  17.      $cadena = "hoy cumple años " . $cumple['nombre'];
  18. }

Saludos.
  #5 (permalink)  
Antiguo 22/05/2012, 12:21
Avatar de Cladam  
Fecha de Ingreso: marzo-2009
Ubicación: En algún lugar en mi mundo
Mensajes: 44
Antigüedad: 15 años
Puntos: 2
Respuesta: Mostrar X registros de una misma consulta

Gracias GatorV!!!

Hoy por la noche lo adapto a mi consulta y mañana te cuento como va!

Muchas gracias
  #6 (permalink)  
Antiguo 23/05/2012, 05:53
Avatar de Cladam  
Fecha de Ingreso: marzo-2009
Ubicación: En algún lugar en mi mundo
Mensajes: 44
Antigüedad: 15 años
Puntos: 2
Respuesta: Mostrar X registros de una misma consulta

Nuevamente por acá.. Gracias GatorV !!! Funcionó perfecto luego de adaptarlo a mi código!!!

Sólo hubo que corregir esto (por si alguno le interesa)

*en la linea 5 de tu código, faltaba cerrar un parentesís del while antes de abrir el corchete...una pavada

Luego le agregué un condicional (en la línea 2) en caso que el $total sea igual a 0 y me imprima "Hoy no hay festejos".

Gracias!!
__________________
en fin...sei la vi!!!

Etiquetas: registros, tabla
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 19:22.