Utilisation de LIKE
djimson
Messages postés
217
Statut
Membre
-
djimson Messages postés 217 Statut Membre -
djimson Messages postés 217 Statut Membre -
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
-
Ta variable $secteur ne doit contenir que "Accueil", "Administration" ou "Secrétariat", pas les trois.
-
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.
-
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 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