Date Anniversaire

Résolu/Fermé
LaChaux78 Messages postés 564 Date d'inscription lundi 25 juillet 2016 Statut Membre Dernière intervention 31 mars 2023 - Modifié par LaChaux78 le 22/11/2016 à 20:58
 Utilisateur anonyme - 23 nov. 2016 à 10:27
Bonjour
Sur mon site j'ai souhaité afficher l'anniversaire de chaque membre, bien sur le jour Anniversaire.
Ce que je ne comprends pas c'est pourquoi 2 membres sont né le même jour et il y a que 1 seule membre qui s'affiche.
Si vous pouvez m'aider j'ai beau tourner le script dans tous les sens je n'y arrive pas.
Je vous remercie.
$sql = "SELECT dnaiss, nom, prenom, annee
 FROM cdc_personnes
     LEFT JOIN cdc_adherer
     ON cdc_personnes.idpers = cdc_adherer.idpers
  WHERE annee = ?
  AND MONTH(dnaiss) = ?
  AND DAY(dnaiss) = ?";
$requete = $bdd->prepare($sql);
$requete->execute(array($aadh,$mois,$jour));

    $anniv = '';
    while ($donnees = $requete->fetch()) {
        $anniv = " - Bon anniversaire à : $donnees->nom $donnees->prenom";
    }

ici c'est la fonction du menu pour la variable où je souhaite l'affichage
function writehaut() {
    global $today,$saint,$anniv;
    
    echo "<div id=\"haut\">\n";
    echo "  <div id=\"logo\"><a href=\"index.php\"><img src=\"img/cruet.png\" style=\"margin-left:10px\" border=\"0\"></a></div>\n";
    echo "  <div id=\"date\">$today"." : ".$saint.$anniv."</div>\n";
    echo "</div>\n";
}

Au résultat je voudrais par exemple....
Bon anniversaire DUPONT Pierre - DUPOND René

4 réponses

Utilisateur anonyme
22 nov. 2016 à 23:42
Bonjour

Dans ta boucle, tu écrases à chaque fois la valeur de $anniv, puisque tu fais $anniv="..."
Il faut ajouter le nouveau texte au bout de l'ancien, l'opérateur de concaténation étant le point . (et non le +, mais on a le droit de ne pas connaître php)

$anniv= $anniv . "...";

qui peut s'écrire plus simplement
$anniv .= "...";
2
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
22 nov. 2016 à 21:57
Bonjour,

Je ne connais pas PHP, mais essaie comme ceci :

$anniv = "";
while ($donnees = $requete->fetch()) {
    if ($anniv == "") {
        $anniv = "Bon anniversaire à : ";
    }
    else {
        $anniv = $anniv + " - ";
    }
    $anniv = $anniv + "$donnees->nom $donnees->prenom";
}
0
LaChaux78 Messages postés 564 Date d'inscription lundi 25 juillet 2016 Statut Membre Dernière intervention 31 mars 2023 32
22 nov. 2016 à 22:46
Bonjour
cela ne retourne rien, mais merci quand même c'est une piste.
0
LaChaux78 Messages postés 564 Date d'inscription lundi 25 juillet 2016 Statut Membre Dernière intervention 31 mars 2023 32
23 nov. 2016 à 09:57
Bonjour
Merci c'est nickel.
Cordialement
0
Utilisateur anonyme
23 nov. 2016 à 10:27
De rien :-)
0