Calcul des dates d'anniversaires
Bonjour,
J'ai trouvé un exemple de calcul de dates d'anniversaires sur Internet.
Je l'ai adapté pour mon cas comme ceci:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| function getBirthdays(int $idUser, string $language, string $dateFormat): false|array
{
$db = dbConnect();
$sql = <<<SQL
SELECT CONCAT( COALESCE(m.firstname,''), ' ', COALESCE(m.familyname, '') ) AS fullname, DATE_FORMAT(m.birthday, '%s') AS birthday,
m.email, a.homephone, m.workphone, m.GSM
FROM dat_members m
INNER JOIN dat_addresses a
ON a.id=m.id_address
WHERE a.id_user=:id_user
AND MONTH(m.birthday) = MONTH( DATEADD( DAY, 10, GETDATE() ) )
AND DAY(m.birthday) = DAY( DATEADD( DAY, 10, GETDATE() ) )
ORDER BY m.birthday
SQL;
var_dump($sql);
$sql = sprintf($sql, $dateFormat);
$stmt = $db->prepare($sql);
$stmt->execute([':id_user'=>$idUser]);
return $stmt->fetchAll();
} |
Malheureusement, j'obtiens une erreur:
Citation:
Fatal error: Uncaught PDOException: SQLSTATE[42000]: Syntax error or access violation: 1305 FUNCTION omnes.DATEADD does not exist in C:\wamp64\www\proginet\appOmnes\model\model.php on line 20
J'ai donc vérifié la fonction DATEADD qui existe bien.