While ne fonctionne pas

Par Matth72, il y a 1 an


Bonjour,
voilà mon problème où je sèche depuis plus d'une semaine maintenant :
Mon but est d'envoyer plusieurs mails smtp transactionnels à la fois avec Brevo (ex sendineblue).
L'envoi d'un seul mail fonctionne nickel donc je poursuit en metant une boucle.

Mais dès que j'inclue mon while cela ne fonctionne plus, j'obtient toujours qu'un seul mail alors que j'ai bien 2 mails dans ma requete.
Ma boucle ne fonctionne pas.
Quesqu'il ne va pas ?

Mon code ci-dessous :

<?php require_once(__DIR__ . '/vendor/autoload.php'); include("../php/connexion.php"); $config = Brevo\Client\Configuration::getDefaultConfiguration()->setApiKey('api-key', 'xkeysib-*************'); $apiInstance = new Brevo\Client\Api\TransactionalEmailsApi( new GuzzleHttp\Client(), $config ); // Ma liste de reservation pour l'envoi des emails : $query = "SELECT * FROM `reservation` WHERE date_resa = CURRENT_DATE()+1 && formule =1"; $result = mysqli_query($bdd,$query); if(mysqli_num_rows($result)>=1){ while($row = mysqli_fetch_array($result)){ // Preparation de l'email de rappel : $nom = $row["nom"]; $email_destinataire = "test@localhost.fr"; $date_resa = "01/01/2025"; $session_1 = "• 15h00"; $session_2 = "• 16h00"; // Préparation des paramètres dynamiques pour l'email : $params = [ 'nom' => $nom, 'date' => $date_resa, 'session1' => $session_1, 'session2' => $session_2 ]; $sendSmtpEmail = new \Brevo\Client\Model\SendSmtpEmail([ 'subject' => 'Confirmation de réservation', 'sender' => ['name' => 'name', 'email' => 'test@localhost.fr'], 'replyTo' => ['name' => 'name', 'email' => 'test@localhost.fr'], 'to' => [['name' => $nom, 'email' => $email_destinataire]], 'templateId' => 2, 'params' => $params ]); $result = $apiInstance->sendTransacEmail($sendSmtpEmail); } } ?>

Merci beaucoup pour vos explications et votre aide ;)

1 réponse

Matth72, il y a 1 an

Ouah bien vu, ba voilà problème résolu !
J'me sans telement bête de ne pas avoir vu ça avant :/
Merci JRcode pour ton efficacité et ta rapidité, Chapeau !