Foros del Web » Programando para Internet » PHP »

Problemas con script de cumpleaños PHP

Estas en el tema de Problemas con script de cumpleaños PHP en el foro de PHP en Foros del Web. quiero que me traiga los proximos 10 o 20 o 30.., etc... usuarios que van a cumplir años... funciona pero cuando estamos en fecha 28 ...
  #1 (permalink)  
Antiguo 07/03/2008, 10:19
Avatar de farra  
Fecha de Ingreso: marzo-2008
Ubicación: Aqui estoy
Mensajes: 574
Antigüedad: 16 años
Puntos: 20
Exclamación Problemas con script de cumpleaños PHP

quiero que me traiga los proximos 10 o 20 o 30.., etc... usuarios que van a cumplir años...

funciona pero cuando estamos en fecha 28 por ejemplo solo trae los que cumplen el dia 28 o mas de el mes actual (que esta bien) pero en ves de traer los de los primeros dias del siguiente mes, me trae del 28 para adelante tambien...

y en diciembre falla tambien por el año... no me trae los de enero del proximo año...


como puedo modificar el script para que me traiga correctamente?



este es mi codigo:
Código PHP:
<?php require_once('Connections/Conexion.php'); ?><?php

// cantidad de cumpleañeros a mostrar
//$Cantidad=seguridad($_GET['Cantidad'], "int");
//$Cantidad="10";

// hoy
$mesesshoy mktime(000date("m")  , date("d"), date("Y"));
$mess strftime("%m",$mesesshoy);

$mesesshoymax mktime(000date("m")+1  date("d"), date("Y"));
$messmax strftime("%m",$mesesshoymax);

$diasshoy mktime(000date("m")  , date("d"), date("Y"));
$diass strftime("%d",$diasshoy);

//$diasshoymax = mktime(0, 0, 0, date("m")  , date("d")+7, date("Y"));
$diassmax "32";
$messmax="12";

mysql_select_db($database_Conexion$Conexion);
$query_cumple "SELECT Idusuario, Nombre, Apellido, Fecha_Nac, MONTH(Fecha_Nac), DAY(Fecha_Nac), Sexo FROM usuarios WHERE MONTH(Fecha_Nac)>='".$mess."' AND MONTH(Fecha_Nac)<='".$messmax."' AND DAY(Fecha_Nac)>='".$diass."' AND DAY(Fecha_Nac)<='".$diassmax."' ORDER BY MONTH(Fecha_Nac), DAY(Fecha_Nac) ASC Limit ".$Cantidad." ";
$cumple mysql_query($query_cumple$Conexion) or die(mysql_error());
$row_cumple mysql_fetch_assoc($cumple);
$totalRows_cumple mysql_num_rows($cumple);
?>
  #2 (permalink)  
Antiguo 07/03/2008, 10:56
Avatar de TolerantX  
Fecha de Ingreso: marzo-2006
Ubicación: Guadalajara, México.
Mensajes: 408
Antigüedad: 18 años
Puntos: 10
Re: Problemas con script de cumpleaños PHP

En qué formato tienes guardadas tus fechas?

Yo solo compararia fecha actual, y fecha limite (que es la que tienes en la variable $messmax
Código PHP:
mysql_select_db($database_Conexion$Conexion);
$query_cumple "SELECT Idusuario, Nombre, Apellido, Fecha_Nac, Sexo FROM usuarios WHERE  Fecha_Nac>='".$dia_actual."' AND Fecha_Nac<='".$fecha_limite."' ORDER BY Fecha_Nac ASC Limit ".$Cantidad." ";
$cumple mysql_query($query_cumple$Conexion) or die(mysql_error());
$row_cumple mysql_fetch_assoc($cumple);
$totalRows_cumple mysql_num_rows($cumple); 
O bien dale una leída a BETWEEN de mysql
__________________
TolerantX
http://tolerantx.com
Linux User #385226
  #3 (permalink)  
Antiguo 07/03/2008, 11:09
Avatar de farra  
Fecha de Ingreso: marzo-2008
Ubicación: Aqui estoy
Mensajes: 574
Antigüedad: 16 años
Puntos: 20
Re: Problemas con script de cumpleaños PHP

Cita:
Iniciado por TolerantX Ver Mensaje
En qué formato tienes guardadas tus fechas?

Yo solo compararia fecha actual, y fecha limite (que es la que tienes en la variable $messmax
Código PHP:
mysql_select_db($database_Conexion$Conexion);
$query_cumple "SELECT Idusuario, Nombre, Apellido, Fecha_Nac, Sexo FROM usuarios WHERE  Fecha_Nac>='".$dia_actual."' AND Fecha_Nac<='".$fecha_limite."' ORDER BY Fecha_Nac ASC Limit ".$Cantidad." ";
$cumple mysql_query($query_cumple$Conexion) or die(mysql_error());
$row_cumple mysql_fetch_assoc($cumple);
$totalRows_cumple mysql_num_rows($cumple); 
O bien dale una leída a BETWEEN de mysql
em.. pero no me sirve de ese modo, por que acordate que los usuarios tienen diferentes años en su fecha de nacimiento y todos los años son menores a hoy....

ese es el problema.. osea tendria que ponerle a todos como año el año actual exepto a los que ya cumplieron que tendria que ponerles como año el año siguiente...
  #4 (permalink)  
Antiguo 07/03/2008, 12:34
Avatar de farra  
Fecha de Ingreso: marzo-2008
Ubicación: Aqui estoy
Mensajes: 574
Antigüedad: 16 años
Puntos: 20
Re: Problemas con script de cumpleaños PHP

nadie nunca programo algun script php para cumpleaños??????????????
  #5 (permalink)  
Antiguo 07/03/2008, 23:30
Avatar de TolerantX  
Fecha de Ingreso: marzo-2006
Ubicación: Guadalajara, México.
Mensajes: 408
Antigüedad: 18 años
Puntos: 10
Re: Problemas con script de cumpleaños PHP

Cita:
Iniciado por farra Ver Mensaje
nadie nunca programo algun script php para cumpleaños??????????????
Pues si nadie lo ha hecho deberías hacerlo tu

Estuve leyendo de nuevo tu problema y como está algo confuso te pregunto, deseas que te muestre quienes cumplen años en el mes actual??

Por ejemplo ahorita que estamos con fecha de 7 de marzo, deseas que te muestre todos los usuarios con cumpleaños de marzo independientemente del día?
__________________
TolerantX
http://tolerantx.com
Linux User #385226
  #6 (permalink)  
Antiguo 10/03/2008, 07:47
Avatar de farra  
Fecha de Ingreso: marzo-2008
Ubicación: Aqui estoy
Mensajes: 574
Antigüedad: 16 años
Puntos: 20
Exclamación Re: Problemas con script de cumpleaños PHP

a ver si me explico bien...


quiero que me traiga todas las personas que van a cumplir años y que me deje un limite que el usuario pueda poner...
Código PHP:

$Limit
=$_GET['Limite'];

$consultaSQL="aqui va la consulta"." Limit ".$Limit
la consulta tendria que traer todos los que cumpliran años desde hoy hasta la fecha de ayer del proximo año..

por ejemplo: si hoy es 14 de febrero... tiene que traer desde el 14 de febrero 2008 hasta el 13 de febrero de 2009.... y ordenarlos por fecha, (quien cumple primero)
por ejemplo: si estamos en 27 de diciembre tiene que salir primero los que cumplen en diciembre luego enero luego febrero...

total no importa cuantos sean despues yo le doy un limite a la consulta que mando por $_GET['']...

me explico?
  #7 (permalink)  
Antiguo 10/03/2008, 09:17
Avatar de TolerantX  
Fecha de Ingreso: marzo-2006
Ubicación: Guadalajara, México.
Mensajes: 408
Antigüedad: 18 años
Puntos: 10
Re: Problemas con script de cumpleaños PHP

Entonces como tienes tu consulta del primer post en vez de sumarle a mes 1, sumaselo a año :)
__________________
TolerantX
http://tolerantx.com
Linux User #385226
  #8 (permalink)  
Antiguo 10/03/2008, 14:24
Avatar de farra  
Fecha de Ingreso: marzo-2008
Ubicación: Aqui estoy
Mensajes: 574
Antigüedad: 16 años
Puntos: 20
Re: Problemas con script de cumpleaños PHP

Cita:
Iniciado por TolerantX Ver Mensaje
Entonces como tienes tu consulta del primer post en vez de sumarle a mes 1, sumaselo a año :)


el problema es la consulta, no la fecha maxima que tengo que generar...

todo el problema radica en que son fechas de nacimiento no fechas nomas...

osea que todos los años de nacimiento obviamente son menores al año actual, quiero traer las fechas sin tener en cuenta el año.. solo traer en orden de quien esta por cumplir años primero...
  #9 (permalink)  
Antiguo 10/03/2008, 14:56
Avatar de TolerantX  
Fecha de Ingreso: marzo-2006
Ubicación: Guadalajara, México.
Mensajes: 408
Antigüedad: 18 años
Puntos: 10
Re: Problemas con script de cumpleaños PHP

No lo calé si tiene errores corrigeselos, pero la idea es hacer dos consultas, una para el tiempo que queda del año y el otro para el que ya pasó, obvio primero mostrarías la consulta 1 y después la 2

Código PHP:
<?php require_once('Connections/Conexion.php');

$diasshoy mktime(000date("m"), date("d"), date("Y"));
$diass strftime("%d",$diasshoy);

$mesesshoy mktime(000date("m"), date("d"), date("Y"));
$mess strftime("%m",$mesesshoy);

$mes_limite 12
$dia_limite 
31;

mysql_select_db($database_Conexion$Conexion);
$query_cumple "SELECT Idusuario, Nombre, Apellido, Fecha_Nac, MONTH(Fecha_Nac), DAY(Fecha_Nac), Sexo FROM usuarios 
WHERE (MONTH(Fecha_Nac)>='"
.$mess."' AND MONTH(Fecha_Nac)<='".$mes_limite."') AND (DAY(Fecha_Nac)>='".$diass."' AND DAY(Fecha_Nac)<='".$dia_limite."') ORDER BY MONTH(Fecha_Nac), DAY(Fecha_Nac) ASC Limit ".$Cantidad." ";
$cumple mysql_query($query_cumple$Conexion) or die(mysql_error());
$row_cumple mysql_fetch_assoc($cumple);
$totalRows_cumple mysql_num_rows($cumple);


if (
$mess && $diass 1) {
    
mysql_select_db($database_Conexion$Conexion);
    
$query_cumple2 "SELECT Idusuario, Nombre, Apellido, Fecha_Nac, MONTH(Fecha_Nac), DAY(Fecha_Nac), Sexo FROM usuarios 
    WHERE MONTH(Fecha_Nac)<='"
.$mess."' AND DAY(Fecha_Nac)<='".$diass."' ORDER BY MONTH(Fecha_Nac), DAY(Fecha_Nac) ASC Limit ".$Cantidad." ";
    
$cumple2 mysql_query($query_cumple2$Conexion) or die(mysql_error());
    
$row_cumple2 mysql_fetch_assoc($cumple2);
    
$totalRows_cumple2 mysql_num_rows($cumple2);
}


?>
Es una solución fea pero para rápido ahí está
__________________
TolerantX
http://tolerantx.com
Linux User #385226
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 23:05.