Signaler

Date Anniversaire [Résolu]

Posez votre question LaChaux78 104Messages postés lundi 25 juillet 2016Date d'inscription 6 août 2017 Dernière intervention - Dernière réponse le 23 nov. 2016 à 10:27 par le père.
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é
Afficher la suite 
Utile
+2
plus moins
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 .= "...";
Cette réponse vous a-t-elle aidé ?  
Donnez votre avis
Utile
+0
plus moins
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";
}
Donnez votre avis
Utile
+0
plus moins
Bonjour
cela ne retourne rien, mais merci quand même c'est une piste.
Donnez votre avis
Utile
+0
plus moins
Bonjour
Merci c'est nickel.
Cordialement
le père. 5967Messages postés mardi 15 mai 2012Date d'inscription 4 août 2017 Dernière intervention - 23 nov. 2016 à 10:27
De rien :-)
Répondre
Donnez votre avis

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !