Le processus fonctionne mais il y a un petit problème, l'émail reçu à toutes les livres du stock !! Il semble que la partie
" . trim($membre[' liste_mots_cles_favoris'], "|") ." ne soit pas prise en compte, et si je la remplace par exemple par (Colette|Jean) cela fonctionne.
Je te donne la partie de mon code adapté
//Les membres à sélectionner doivent avoir choisi l'alerte email et avoir des mots-clés de livres favoris
$sql = "SELECT * FROM membre WHERE alerte_par_email = 1 AND TRIM(liste_mots_cles_favoris) <>'' ";
$result_membres = mysql_query($sql);
while ($result_membres && $membre = mysql_fetch_array($result_membres)){
//insérer les données du membre dans la lettre-type
$lettre_type = sprintf("<h1>Les livres que vous recherchez sont peut-être arrivés</h1><p>Le %s</p><p>(%s) Bonjour %s %s (%s)</p>", date("d/m/Y"), $membre['idmembre'], $membre['nom'], $membre['prenom'], $membre['email']);
$lettre_type .= "<p>Voici les derniers livres correspondant à vos alertes de recherche</p><ul>";
//Obtenir la liste des livres favoris du membre correspondant aux mots-clés du champ liste_mots_clés_favoris (les mots-clés sont séparés par un |)
$sql = "SELECT * FROM stock WHERE CONCAT(auteur,' ',titre,' ',description,' ',commentaire) REGEXP ' " . trim($membre[' liste_mots_cles_favoris'], "|") ."' ORDER BY ref DESC " ;
$result_livres = mysql_query($sql);
Merci encore pour ton aide !