Utilisation de LIKE

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é.
$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

  1. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 511
     
    Ta variable $secteur ne doit contenir que "Accueil", "Administration" ou "Secrétariat", pas les trois.
    0
  2. djimson Messages postés 217 Statut Membre 3
     
    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.
    0
  3. le père
     
    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']." - ";
    0
  4. djimson Messages postés 217 Statut Membre 3
     
    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
    0