Autor
|
Tema: MKTime() & <1970 ¬¬ (Leído 2,391 veces)
|
Azielito
no es
Colaborador
Desconectado
Mensajes: 9.188
>.<
|
Me da problemas, estoy calculando en que semana cumplen años los empleados, entonces, hago esto: <table width="100%" border="0" cellpadding="0" cellspacing="0" class="box_portada"> <tr> <td colspan="2"><h1>Cumpleaños del Personal ( semana <?= $semanaActual = date("W");?> )</h1></td> </tr> <tr> <td><b>Nombre</b></td> <td><b>Dia</b></td> </tr> <?php $cumple_sql = "SELECT `id_issemym`,`nombreE` , `apellidoP` , `apellidoM` , `nacimiento` FROM `empleado` ORDER BY `nacimiento` DESC"; $cumple_query = @mysql_query($cumple_sql,$link);
$dias = array("Dom","Lun","Mar","Mie","Jue","Vie","Sab"); while($cumpleDat = @mysql_fetch_array($cumple_query)){ global $semanaActual,$dias; $fechaNac = split("-",$cumpleDat['nacimiento']); $dia = $fechaNac[2]; $mes = $fechaNac[1]; $anyo = $fechaNac[0]; $semanaCumple = date("W",mktime(0,0,0,$mes,$dia,$anyo));
if((int)$semanaActual == (int)$semanaCumple){
?> <tr> <td><?php echo $semanaActual."-".$semanaCumple." | "; $nombre= strtolower($cumpleDat['nombreE']." ".$cumpleDat['apellidoP']." ".$cumpleDat['apellidoM']); ?> <a title="Fecha de nacimiento: [<?=$cumpleDat['nacimiento'];?>]" href="inicio.php?a=datos_servidor&d=consulta&issemym=<?=$cumpleDat['id_issemym'];?>"> <?=ucwords($nombre);?> </a> </td> <td><?php $numDia = date("w",mktime(0,0,0,$mes,$dia,date("Y"))); echo $dias[$numDia]." ".$dia;?></td> </tr> <?php } }?> </table> Pero el problema es que tengo muchos empleados que nacieron antes de Enero de 1970 y no me obtiene la semana Estoy viendo la funcion GregorianToJD pero no me convence y creo que no tendria exito O, alguna funcion en MySQL para obtener este resultado tienen alguna idea ? Gracias.
|
|
|
En línea
|
|
|
|
|
Azielito
no es
Colaborador
Desconectado
Mensajes: 9.188
>.<
|
Ya tengo otro codigo xD mejor que el que intentaba usar antes, pero me da problemas con las fechas, o sea, la semana no la toma como deberia... el codigo es este <table width="100%" border="0" cellpadding="0" cellspacing="0" class="box_portada"> <tr> <td colspan="2"><h1>Cumpleaños del Personal ( semana <?= date("W");?> )</h1></td> </tr> <tr> <td><b>Nombre</b></td> <td><b>Dia</b></td> </tr> <?php $cumple_sql = "SELECT `id_issemym`,`nombreE` , `apellidoP` , `apellidoM` , `nacimiento`,WEEK(nacimiento,1) as sCumple,WEEK(NOW(),1)as sActual FROM `empleado` ORDER BY `nacimiento` DESC"; $cumple_query = @mysql_query($cumple_sql,$link);
$dias = array("Dom","Lun","Mar","Mie","Jue","Vie","Sab"); while($cumpleDat = @mysql_fetch_array($cumple_query)){ global $semanaActual,$dias; $fechaNac = split("-",$cumpleDat['nacimiento']); $dia = $fechaNac[2]; $mes = $fechaNac[1]; $anyo = $fechaNac[0]; $semanaCumple = $cumpleDat['sCumple']; $semanaActual = $cumpleDat['sActual'];
if((int)$semanaActual == (int)$semanaCumple){
?> <tr> <td><?php echo $semanaActual."-".$semanaCumple." | "; $nombre= strtolower($cumpleDat['nombreE']." ".$cumpleDat['apellidoP']." ".$cumpleDat['apellidoM']); ?> <a title="Fecha de nacimiento: [<?=$cumpleDat['nacimiento'];?>]" href="inicio.php?a=datos_servidor&d=consulta&issemym=<?=$cumpleDat['id_issemym'];?>"> <?=ucwords($nombre);?> </a> </td> <td><?php $numDia = date("w",mktime(0,0,0,$mes,$dia,date("Y"))); echo $dias[$numDia]." ".$dia;?></td> </tr> <?php } }?> </table> Y me da esto: Ven? me da personas que cumplen años el dia 2 de julio xD y, no me da uno que cumple el dia 25 ¬¬' Con SQL puedo hacer consultas algo asi como que compararlas entre los dias lunes y domingo de la semana actual? Graicas por contestar >.<
|
|
|
En línea
|
|
|
|
Azielito
no es
Colaborador
Desconectado
Mensajes: 9.188
>.<
|
Bueno, al final no use PHP busque y busque y encontre que podemos obtener dia, mes y año de una fecha "X" mediante SQL logre hacer esto SELECT `id_issemym`,`nombreE` , `apellidoP` , `apellidoM` , `nacimiento`,WEEK( CONCAT(YEAR( NOW() ),'-',MONTH(nacimiento),'-',DAY(nacimiento)),1) as sCumple, WEEK(NOW(),1)as sActual, DAY(nacimiento)as orden FROM empleado ORDER BY `orden` ASC Y con esto tenemos a los empleados que cumplen años esta semana ñ_ñ
|
|
|
En línea
|
|
|
|
[ Alberto]
Wiki
Desconectado
Mensajes: 1.232
|
|
|
|
En línea
|
Debemos de hacer todas las cosas sencillas, excepto las cosas sencillas
|
|
|
|
|