Bueno, tengo una tabla donde guardo los datos básicos de las personas.
Código:
Y después tengo en mi pagina un select muy sencillo que saque del sitio de mysql.CREATE TABLE `clientes` ( `ID_CLIENTE` tinyint(4) NOT NULL default '0', `NOMBRE_CLIENTE` varchar(30) default NULL, `APELLIDO_CLIENTE` varchar(30) default NULL, `FECHA_NACIMIENTO_CLIENTE` date default NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
Código:
Tb probe este otro.SELECT NOMBRE_CLIENTE, APELLIDO_CLIENTE, RIGHT(FECHA_NACIMIENTO_CLIENTE, 5) , RIGHT(CURDATE(),5) FROM `clientes` WHERE RIGHT(FECHA_NACIMIENTO_CLIENTE, 5) = RIGHT(CURDATE(),5) ORDER BY NOMBRE_CLIENTE ASC
Código:
Donde colname es una variable de servidor donde obtengo la fecha.SELECT NOMBRE_CLIENTE, APELLIDO_CLIENTE, RIGHT(FECHA_NACIMIENTO_CLIENTE, 5) , RIGHT(CURDATE(),5) FROM `clientes` WHERE RIGHT(FECHA_NACIMIENTO_CLIENTE, 5) = colname ORDER BY NOMBRE_CLIENTE ASC
Código PHP:
<?php
// DDMM - Variable dia y mes de hoy
// Para probar los cumpleaños de maña
// 1
$_SERVER['DDMM'] = (date("d-m"));
// 2
// $_SERVER['DDMM'] = '14-10';
?>
<?php
$colname_cumples = "-1";
if (isset($_SERVER['DDMM'])) {
$colname_cumples = (get_magic_quotes_gpc()) ? $_SERVER['DDMM'] : addslashes($_SERVER['DDMM']);
}
mysql_select_db($database_emg_cumples, $emg_cumples);
$query_cumples = sprintf("SELECT NOMBRE_CLIENTE, APELLIDO_CLIENTE, RIGHT(FECHA_NACIMIENTO_CLIENTE, 5) , RIGHT(CURDATE(),5) FROM `clientes` WHERE RIGHT(FECHA_NACIMIENTO_CLIENTE, 5) = %s ORDER BY NOMBRE_CLIENTE ASC", $colname_cumples);
$cumples = mysql_query($query_cumples, $emg_cumples) or die(mysql_error());
$row_cumples = mysql_fetch_assoc($cumples);
$totalRows_cumples = mysql_num_rows($cumples);
?>
Por ejemplo. Los primeros días del mes cuando las fechas son 1,2,3,4,5,6 no me funcionan pero cuando son 10,11,12 (ya con dos digitos) sin funciona.
Lo que necesito es algo que funcione siempre y que no me ocupe de cambiar las fechas sino solo cargar la base de datos.
Creo que es un problema con el formato de fechas que a veces me trae dd-mm y otras mm-dd y por eso no puede filtrar.
Espero puedan ayudarme si alguien tiene experiencia