begin process at 2010 03 22 11:46:37
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

Recherche par plusieurs mots clé


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Recherche par plusieurs mots clé

samedi 4 octobre 2008 à 14:47:02 | Recherche par plusieurs mots clé

lonewolfs

Bonjour a tous,

J'ai crée une base de donnée pour l'entretien des machines de mon parc.

et j'ai fait une page php pour effectuer mes recherches plus facilement.

Cette page permet de faire des recherches sur plusieurs plan et en particulier sur des symptomes qui ont engagé une intervention.

Mon script fonctionne mais que sur un seul mot clé dans ma recherche sur les symptomes et je souhaiterais pouvoir affiner mes recherches en permettant plusieurs mots clés dans la case symptomes mais j'avoue que la ca dépasse mes capacités en php.

Je viens donc vers vous, vous demander de l'aide.

Voci mon code :
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

<html><body>

<!-- Mise en place du formulaire de recherche -->

<form method="post">

<p>Rechercher par :</p><br/>

Machine : <input type="text" name="Machine" /> -

Utilisateur : <input type="text" name="Utilisateur" /> -

Lieu : <input type="text" name="Lieu" /> -

Symptômes : <input type="text" name="Symptomes" />

<br/><input type="submit" value="Chercher" />

</form>

<center><table width="981" border="1" cellspacing="0" cellpadding="0">

<tr>

<td width="62"><div align="center">Date</div></td>

<td width="62"><div align="center">Lieu</div></td>

<td width="71"><div align="center">Machine</div></td>

<td width="73"><div align="center">Utilisateur</div></td>

<td width="80"><div align="center">Symptômes</div></td>

<td width="86"><div align="center">Intervention</div></td>

</tr>

<?php

//récupération des variables

$Machine=$_POST['Machine'];

$Utilisateur=$_POST['Utilisateur'];

$Lieu=$_POST['Lieu'];

$Symptomes=$_POST['Symptomes'];

//Requêtes

mysql_connect("localhost", "root", "") or die ("Pas de connexion à la base de données"); // Connexion à MySQL

mysql_select_db("Entretien") or die ("Pas de connexion à la base"); // Sélection de la base coursphp

// Si seul Machine est rempli

if ((!empty($Machine)) and (empty($Utilisateur)) and (empty($Lieu)) and (empty($Symptomes)))

{

$reponse = mysql_query("SELECT * FROM intervention WHERE `Machine`='$Machine'"); // Requête SQL

}

//Si seul Utilisateur est rempli

if ((empty($Machine)) and (!empty($Utilisateur)) and (empty($Lieu)) and (empty($Symptomes)))

{

$reponse = mysql_query("SELECT * FROM intervention WHERE `Utilisateur`='$Utilisateur'"); // Requête SQL

}

//Si seul Lieu est rempli

if ((empty($Machine)) and (empty($Utilisateur)) and (!empty($Lieu)) and (empty($Symptomes)))

{

$reponse = mysql_query("SELECT * FROM intervention WHERE `Lieu`='$Lieu'"); // Requête SQL

}

//Si seul Symptome est rempli ***************************************************************************************

if ((empty($Machine)) and (empty($Utilisateur)) and (empty($Lieu)) and (!empty($Symptomes)))

{

$reponse = mysql_query("SELECT * FROM intervention WHERE `Symptomes` LIKE '%$Symptomes%'"); // Requête SQL

}

//****************************************************************************************************************

//Si Machine et Utilisateur sont rempli

if ((!empty($Machine)) and (!empty($Utilisateur)) and (empty($Lieu)) and (empty($Symptomes)))

{

$reponse = mysql_query("SELECT * FROM intervention WHERE `Machine`='$Machine' and `Utilisateur`='$Utilisateur'"); // Requête SQL

}

//Si Machine, Utilisateur e t Lieu sont rempli

if ((!empty($Machine)) and (!empty($Utilisateur)) and (!empty($Lieu)) and (empty($Symptomes)))

{

$reponse = mysql_query("SELECT * FROM intervention WHERE `Machine`='$Machine' and `Utilisateur`='$Utilisateur' and `Lieu`='$Lieu'"); // Requête SQL

}

// Si tous les champs sont remplis

if ((!empty($Machine)) and (!empty($Utilisateur)) and (!empty($Lieu)) and (!empty($Symptomes)))

{

$reponse = mysql_query("SELECT * FROM intervention WHERE `Machine`='$Machine' and `Utilisateur`='$Utilisateur' and `Lieu`='$Lieu' and `Symptomes` LIKE '%$Symptomes%'"); // Requête SQL

}

//*******************************************************************************************

//Si Utilisateur et Lieu sont rempli

if ((empty($Machine)) and (!empty($Utilisateur)) and (!empty($Lieu)) and (empty($Symptomes)))

{

$reponse = mysql_query("SELECT * FROM intervention WHERE `Utilisateur`='$Utilisateur' and `Lieu`='$Lieu'"); // Requête SQL

}

//Si utilisateur et Symptomes sont rempli

if ((empty($Machine)) and (!empty($Utilisateur)) and (empty($Lieu)) and (!empty($Symptomes)))

{

$reponse = mysql_query("SELECT * FROM intervention WHERE `Utilisateur`='$Utilisateur'and `Symptomes` LIKE '%$Symptomes%'"); // Requête SQL

}

//Si Lieu et Symptomes sont rempli

if ((empty($Machine)) and (empty($Utilisateur)) and (!empty($Lieu)) and (!empty($Symptomes)))

{

$reponse = mysql_query("SELECT * FROM intervention WHERE `Lieu`='$lieu' and `Symptomes` LIKE '%$Symptomes%'"); // Requête SQL

}

//Si Machine et lieu sont rempli

if ((!empty($Machine )) and (empty($Utilisateur)) and (!empty($Lieu)) and (empty($Symptomes)))

{

$reponse = mysql_query("SELECT * FROM intervention WHERE `Machine`='$Machine' and `Lieu`='$Lieu'"); // Requête SQL

}

//Si Machine et Symptomes sont rempli

if ((!empty($Machine)) and (empty($Utilisateur)) and (empty($Lieu)) and (!empty($Symptomes)))

{

$reponse = mysql_query("SELECT * FROM intervention WHERE `Machine`='$Machine' and `Symptomes` LIKE '%$Symptomes%'"); // Requête SQL

}

// On fait une boucle pour lister tout ce que contient la table :



while ($donnees = mysql_fetch_array($reponse) )

{

?>

<tr>

<td><center><strong><?php echo $donnees['Date']; ?></strong></center></td>

<td><center><strong><?php echo $donnees['Lieu']; ?></strong></center></td>

<td><center><strong><?php echo $donnees['Machine']; ?></strong></center></td>

<td><center><strong><?php echo $donnees['Utilisateur']; ?></strong></center></td>

<td><center><strong><?php echo $donnees['Symptomes']; ?></strong></center></td>

<td><center><strong><?php echo $donnees['Intervention']; ?></strong></center></td>

</tr>

<?php

}



mysql_close(); // Déconnexion de MySQL

?>

</table></center>




Si vous pouvez me donner une piste, un lien, une aide, je suis preneur de tout ce qui peut me faire avancer.

Merci par avance

Lonewolf

samedi 4 octobre 2008 à 17:11:57 | Re : Recherche par plusieurs mots clé

lonewolfs

Réponse acceptée !
C'est bon j'ai trouvé.

La solution :

$Symptomes = str_replace(" ", "%' AND Symptomes LIKE '%", $Symptomes);

Merci a tous

Amicalement

Lonewolf


Cette discussion est classée dans : and, utilisateur, lieu, machine, empty


Répondre à ce message

Sujets en rapport avec ce message

pb de recherche [ par neotetsuo34 ] Je n'arrive pas a rechercher des infos dans ma base que je tire d'un formulaire, je dois avoir un pb de requete ou de syntaxe. Je vous montre mon code Problème de lecture de données... [ par CyberMen30 ] Bonjour,Dans mon code, je fais une validation de formulaire, ensuite je place les données récoltées dans une table temporaire et les place dans une au requete pour recherche multicritere [ par phpnuke ] if (empty($_POST['province'])){$AOP = "OR";}else{$AOP = "AND";}if (empty($_POST['categorie'])){$AOC = "OR";}else{$AOC = "AND";}if (empty($_POST['ville moteur de recherche [ par xxiv ] Bonjour,Je suis sur la réalisation d'un petit moteur de recherche.Il y a 6 champs pour le formulaire de recherche.#Theme#Public#Mots clefs#Titre#Appro php et asterisk.. [ par roomi23 ] Bonjour j'ai installer asterisk sur ma machine et je me demandai sil y'avai pas un moyen de faire une page web avec formulaire pour entrer les paramet selection de la base de données selon la valeur choisi dans un select [ par moumourourou ] Bonjour,je suis entrain de travailler un formulairedans ce formulaire j'ai un champ select , je veux selon la valeur choisis faire une selection de la verifier les données en ajax [ par pouyelayese ] Bonjour à tous. je suis débutant en ajax. Dans ma base de données j'ai une table utilisateur. Et j'aimerai qu'à la création d'un nouvel utilisateur v Eviter le renvoi de données saisies lors d'un raffraichissement de la page [ par neo_baou12 ] Bonjour,Voici mon problème:- j'ai une page de connexion ou l'utilisateur saisi sont login/password;- après connexion si l'utilisateur se déconnecte il selection dynamique d'une base avec l'option select [ par moumourourou ] salut, bonjour, je vais vous expliquer mon problème j'ai un premier formulaire pour l'insertion d'un nouveau chemin où j'ai une liste de sélection dyn Récupérer variable dans ... [ par Homeros ] Bonjour,      Je commance directement, j'ai 3 pages dans la 1er je recup des données de la table 'a' pour afficher des annonnces, la 2éme un formulair


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,686 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales