Utilisation de LIKE
Bonsoir,
Je voudrai savoir comment rechercher un mot dans un groupe de mot avec LIKE de mysql?
Voici par exemple une requête que j'ai réalisé.
Dans ma variable $secteur, j'ai par exemple "Accueil Administration et Secrétariat". Je voudrai que si l'un de ces mots se trouvant dans $secteur, qu'il m'affiche toutes les adresses mails concernée.
Mais ca ne marche pas. Es-ce mes % sont mal placés?
Merci bien
--
Je voudrai savoir comment rechercher un mot dans un groupe de mot avec LIKE de mysql?
Voici par exemple une requête que j'ai réalisé.
$sql = "SELECT 'email' FROM table_1 WHERE 'secteur' LIKE '%". $secteur. "%'"; $req = mysql_query($sql); echo " ".$res." - ";
Dans ma variable $secteur, j'ai par exemple "Accueil Administration et Secrétariat". Je voudrai que si l'un de ces mots se trouvant dans $secteur, qu'il m'affiche toutes les adresses mails concernée.
Mais ca ne marche pas. Es-ce mes % sont mal placés?
Merci bien
--
4 réponses
-
Merci bien.
Je penses avoir trouver la solution avec cet code :$sql = "SELECT 'email' FROM table_1 WHERE 'secteur' LIKE '%".htmlentities(trim($_POST['secteur']))."%'";
Mais j'ai autre une autre question.
Je veux envoyer un mail a ceux qui ont le profil de la recherche. J'arrive a envoyé le mais je ne veux pas envoyer a tous en même temps. Je voudrai que ca soit un envoi individuel.
Voici mon code.$sql = "SELECT 'email' FROM table_1 WHERE 'secteur' LIKE '%".htmlentities(trim($_POST['secteur']))."%'"; $req = mysql_query($sql); $res = mysql_numrows($req); $i=0; $expediteur = "nom@domaine.com"; $entete = "[Blabla]"; //$email_bcc = ""; $sujets = "Blabla"; $message = "Cher(e) abonné(e) , ce poste de '". $_POST['secteur'] ."' correspond à votre profil:\n Pour plus de détails, nous vous invitons à consulter nos offres de ce jour en cliquant sur le lien suivant: "; $message .= "http://" . $_SERVER["SERVER_NAME"]; $message .= "/emploi/emploi.php"; $sujet = "$entete ".$sujets; $headers = "From: ".$expediteur; //if(strlen($email_bcc)) //$headers .= "\nBCC: ".$email_bcc; while($i!=$res) { $email.="".mysql_result($req,$i,"email").","; $i++; } If(mail($email,stripslashes($sujet),stripslashes($message),$headers)) { $ok = "envoyé"; }
Merci bien -
Bonjour
Les noms des champs soivent être entre accents graves (ou rien du tout), mais surtout pas entre apostrophes.
$sql = "SELECT email FROM table_1 WHERE secteur LIKE '%". $secteur. "%'";
D'autre part, tu récuères mal le résultat :
$req = mysql_query($sql);
echo " ".$req['email']." - "; -
Merci pour ta réponse mais comment faire pour que la recherche trouve un de ces mot? Au moins un mot? Car dans ma base, le champ secteur contient plusieur mots.
-
Ta variable $secteur ne doit contenir que "Accueil", "Administration" ou "Secrétariat", pas les trois.