Anniversaire des membres

Résolu
troubadour2 Messages postés 277 Date d'inscription   Statut Membre Dernière intervention   -  
troubadour2 Messages postés 277 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'ai fait un code pour afficher les dates d'anniversaire des membre sur la page d'accueil.
Les dates de naissances sont stocké dans ma BDD.
Ca ne m'affiche rien même pas 1 erreur je ne vois pas où il y a un problème.
Si quelqu'un de sympa pourrai y jeter un oeil pour me dire ce qu'il en pense.
Je vous remercie beaucoup.

<?php
// Affiche bon anniversaire d'un membre sur la page d'accueil
function anniversaire ($bdd) {
	$date_jour = date('d');
	$date_mois = date('n');
	$tab_mois = Array ('Janvier','Fevrier','Mars','Avril','Mai','Juin','Juillet','Aout','Septembre','Octobre','Novembre','Decembre');
	$mois = $tab_mois [$date_mois -1] ;
	$date = "$date_jour $mois";
// On récupére tous les utilisateurs avec leurs dates de naissance
	$resultats = $bdd->query(	"SELECT nom_utilisateur, prenom_utilisateur FROM utilisateur WHERE naissance_utilisateur LIKE '$date %'");
// On affiche cette variable vide pour ne pas afficher "bon anniversaire " si il n'y a pas de mambre né ce jour là
	$anniversaire ="";
// Avec cette boucle on liste dans un tableau tous les nom et prénom
	while (list($nom_utilisateur, $prenom_utilisateur) = $resultats->fetch()) {
// On affiche les anniversaires des membres
		$anniversaire .= " <div id='bon_anniversaire'>".$prenom_utilisateur." ".$nom_utilisateur."</div>";
	}
	return $anniversaire ;
}
//on cré une variable "$anniv" pour récupérer la fonction "anniversaire"
	$anniv=anniversaire($bdd);
//si la variable "$anniv" n'est pas vide, c'est à dire qu'il existe un membre né ce jour là qu'on à récupéré via la fonction PHP
	if (!empty($anniv)) 
	{
//alors on affiche "Bon anniversaire "
		echo '<div id="bon_anniversaire">Bon anniversaire à : </div><br/>'.$anniv;
    }
?>


2 réponses

JooS Messages postés 2468 Date d'inscription   Statut Membre Dernière intervention   228
 
Salut ...

Alors, Supposons que les dates de naissances dans ta table sont stocké au format DATE, donc ANNEE-MOIS-JOUR

Alors tu peut tout simplement faire ça ...

Note : Utilise PDO pour te connecter, c'est plus pratique ...
Utilise les requêtes préparés, elles sont plus sécurisés ...
$date = "$date_jour $mois"; === Euuux o_O' ?????!!!!! ...

<?php   
try {   
 $pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;   
 $bdd = new PDO('mysql:host=localhost;dbname=test', 'root', '', $pdo_options);   
 }   

catch (Exception $e) {   
 die('Erreur : ' . $e->getMessage());   
 }   

        $mois=date('m');   
        $jour=date('d');   
        $result = $bdd->prepare('SELECT naissance, nom FROM userss WHERE MONTH(naissance) = ? AND DAY(naissance) = ?');   
 $result->execute(array($mois,$jour));   
           
        while($infos = $result->fetch()) {   
            echo 'Bonne Annivesaire '.$infos['nom'].'<br>';   
        }   


?>   
0
troubadour2 Messages postés 277 Date d'inscription   Statut Membre Dernière intervention   1
 
Bonjour

Super cool ça marche je vous remercie beaucoup trop sympa pour votre aide.

Encore merci.
0