Valeur de recherche differente selon champ
Posté : 01 juin 2005, 09:06
Bonjour a tous
Je dois faire une recherche dans ma base de donné et jaurai voulu la faire selon un nom ressemblant a un champ defini auparavant , j'ai reussit cela mais maintenant jaurai aimé approfondir en definissant deux criteres de recherche selon que le champ correspond a la varibale 1 ou qu'il apparatient a la varible deux
exemple = si le champ nom appartien a la variable 1 => ma recherche cherche tout les noms ayant une partie du mot clef dans leur nom
si le champ reference appartient a la variable 2 =>la recherche cherche exactement le nom ayant comme reference le mots clef et pas qu une partie de celui ci
(jesper que c'est clair)
Je dois faire une recherche dans ma base de donné et jaurai voulu la faire selon un nom ressemblant a un champ defini auparavant , j'ai reussit cela mais maintenant jaurai aimé approfondir en definissant deux criteres de recherche selon que le champ correspond a la varibale 1 ou qu'il apparatient a la varible deux
exemple = si le champ nom appartien a la variable 1 => ma recherche cherche tout les noms ayant une partie du mot clef dans leur nom
si le champ reference appartient a la variable 2 =>la recherche cherche exactement le nom ayant comme reference le mots clef et pas qu une partie de celui ci
(jesper que c'est clair)
Code : Tout sélectionner
$motsclef=$_POST['motsclef'];
$methode = $_POST['methode'];
$motsclef = explode(" ",$motsclef);
$nbr_mots = count($motsclef);
$var1 = 'nom,formule';
$var2 = 'reference,numero_cass';
$select = 'SELECT count(nom) FROM produit2';
$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
$row = mysql_fetch_row($result);
$total = $row[0];
$select="SELECT nom,formule,reference,disponibilite,localisation,quantite,numero_cass FROM produit2";
if (isset($_POST['methode']=$var1)){
$select .= " WHERE ".$_POST['methode']." LIKE '%".$_POST['motsclef']."%'";
}
if (isset($_POST['methode']=$var2)){
$select .= " WHERE ".$_POST['methode']." = ".$_POST['motsclef'].";
}
$select .= " ORDER BY nom";
$select .= " ASC limit ".$limite.','.$nombre;
$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );