begin process at 2012 02 15 00:48:44
  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 formulaire d'ajout de produit [ par samia22 ] Bonjour à tous .. je fait mon formulaire d'ajout et ca marche bien.. mais il manque le test sur les champs de type entier et decimal.... vous Probleme affichage wdCalendar [ par marocokin ] Bonjour tous le monde, Je suis novice en développement web. Je développe une application nécessitant l'intégration d'un agende de type Google Agend random Visual Index correction plugging [ par donzus ] Bonjour, dernière petite aide... c'est toujours un peu génant de bombarder de questions... J'utilise un pluging (random Visual Index) permettant d'i Double relations [ par alienor50 ] bonjours je vous expose mon problème je suis entrain de faire une application pour une commune en tant que stagiaire, il me manque une requête Propri verification de formulaire et envoi dans bbd [ par lorant59 ] bonjour, j ai comme erreur Fatal error: Call to undefined function: filter_var() in je suis chez free j ai renommer le fichier en .php5 toujours la


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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 : 3,619 sec (3)

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