Red de conocimiento informático - Aprendizaje de programación - Código fuente PHP del recordatorio de cumpleaños

Código fuente PHP del recordatorio de cumpleaños

CREAR TABLA `usuarios` (

`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);

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)

{

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.