Anniversaire des membres

Résolu
troubadour2 Messages postés 284 Statut Membre -  
troubadour2 Messages postés 284 Statut Membre -
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 2705 Statut Membre 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 284 Statut Membre 1
 
Bonjour

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

Encore merci.
0