Código fuente PHP del recordatorio de cumpleaños
`id` mediumint(8) unsigned NOT NULL auto_increment,
`username` varchar(60) NOT NULL default '',
`contraseña` varchar(32) NOT NULL predeterminado '',
`sex` tinyint(1) unsigned NOT NULL predeterminado '0',
fecha de `cumpleaños` NOT NULL predeterminado '0000-00- 00',
CLAVE PRIMARIA (`user_id`)
)ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
index .php
lt;?php
// conexión mysql
$link = mysql_connect('host de la base de datos: puerto', 'nombre de usuario', 'contraseña' );
mysql_select_db('nombre de la base de datos', $link);
mysql_query('SET NAMES utf8', $link
// Leer usuario); lista
$resultado = mysql_query('SELECT * FROM `usuarios`');
$data = array();
mientras ($fila = mysql_fetch_assoc ( $resultado))
{
$datos[] = $fila;
}
/**
* Función personalizada utilizada para verificar si el cumpleaños es un recordatorio. Solo se aplica al Nuevo Calendario, no al Calendario Lunar.
*
* @param string $cumpleaños fecha de nacimiento
* @param int $reminder número de días para recordar, recordatorio de cumpleaños en el próximo $reminder número de días
* @return bool true significa que hay un recordatorio, false significa que no hay ningún recordatorio
*/
función cumpleañosReminder($cumpleaños, $ recordatorio = 7)
{
$preg = '/^(\d{4}|\d{2}|)[- ]?(\d{2}) [- ]? (\d{2 })$/';
$Ymd = array();
preg_match($preg, $cumpleaños, $Ymd); p>
if (empty( $Ymd))
{
devuelve falso
}
var_dump($Ymd)
$cumpleaños = $Ymd[2].-'.$Ymd[3];
$hora = hora();
para (); $i = 1; $i lt; = $recordatorio; $i )
{
if (fecha('m-d', $hora) == $cumpleaños)
{ p>
devuelve verdadero
}
$tiempo = $tiempo 24 * 3600
}
Devuelve falso;
}
//Mostrar lista de usuarios
$str = 'lt; table width=" 100" border= "1" cellpacing="0" cellpadding ="0"gt;
lt;trgt;
lt;tdgt;IDlt;/tdgt;
lt ;tdgt;nombredeusuario;/tdgt ;
lt;tdgt;contraseñalt;/tdgt;
lt;tdgt;génerolt;/tdgt;
lt;tdgt ;cumpleañoslt;/ tdgt;
lt;tdgt.remindlt;/tdgt;
lt;/trgt;';
foreach($datos como $usuario )
p>{
$str .= 'lt;trgt;
lt;tdgt;'.$usuario['id'].' ;/tdgt;
lt;tdgt;'.$usuario['nombre de usuario'].' lt;/tdgt;
lt;tdgt;'.$usuario['contraseña' ].' lt; /tdgt;
lt;tdgt;'.$usuario['sexo'].' ['cumpleaños'] .' lt;/tdgt;
lt;tdgt;';
if(cumpleañosReminder($usuario['cumpleaños'])
{
$str .= 'Se acerca el cumpleaños';
}<
/p>
else
{
$str .= 'El cumpleaños aún está lejos'
}
$ str .= 'lt;/tdgt;
lt;/trgt;';
}
$str .= 'lt;/tablegt;';
print $str; gt;
PD: He estado trabajando duro en esto durante más de una hora, no es suficiente no sumar 100 puntos.