moteur de recherche

moteur de recherche - PHP - Programmation

Marsh Posté le 18-07-2006 à 15:35:05    

Bonjour,
je voudrais ajouter à mon site un moteur de recherche qui récupère les saisies d'un formulaire et qui va chercher dans une base mysql les info correspondants.
Avant de me lancer dans le code je voudrais bien avoir les conseils des gens ayant déjà fait ça. Je voudrais notamment savoir comment ils ont fait pour traiter les champs non renseignés.
Merci d'avance!

Reply

Marsh Posté le 18-07-2006 à 15:35:05   

Reply

Marsh Posté le 18-07-2006 à 15:40:08    

select * from table where condition
 
(ironie inside)


Message édité par nemohp le 18-07-2006 à 15:40:21
Reply

Marsh Posté le 18-07-2006 à 17:05:32    

Ouuuhhhh la en effet je pense que tu as bien fait de demander avant de chercher oui.  
Mais je pense que  
[quotemsg=1408657,2,35505]select * from table where condition[quotemsg]
Serait un bon début  :whistle:  
 
ironie aussi  :lol:


Message édité par the big ben le 18-07-2006 à 17:05:46
Reply

Marsh Posté le 18-07-2006 à 17:30:40    

mbarekh a écrit :

Je voudrais notamment savoir comment ils ont fait pour traiter les champs non renseignés.


 
J'ai du engager une voyante à temps plein pour que elle devinne les valeurs :/
 
 
Ironie encore ^^


---------------
Créer son forum gratuit |  Mon beau blog phpBB caÿ le mal :o
Reply

Marsh Posté le 18-07-2006 à 19:52:59    

scull a écrit :

J'ai du engager une voyante à temps plein pour que elle devinne les valeurs :/
 
 
Ironie encore ^^


Je parierais même que t'as été obliger d'engager des détectives pour être sur une piste.
 
Ironie quand tu nous tiens...

Reply

Marsh Posté le 19-07-2006 à 13:54:08    

il faut construire ton "where" dynamiquement.
 
Teste les valeurs de tes champs, si ils sont renseignés rajoute la condition a ta clause where.
 
tu peux par exemple rajouter tes champs valides dans un tableau  

Code :
  1. $conditions[] = 'condition1="valeur1"';
  2. $conditions[] = 'condition2="valeur2"';
  3. $conditions[] = 'condition4="valeur4"';


et faire un implode par la suite

Code :
  1. if(count($conditions)>0)
  2.   $mes_conditions =  'where '.implode(' AND ',$conditions);
  3. $sql_querie = "select * from table $mes_conditions";


 
ce qui te donne au final une requete avec uniquement tes champs renseignés:
select * from table where condition1="valeur1" AND condition2="valeur2" AND condition4="valeur4"

Reply

Marsh Posté le 19-07-2006 à 17:29:03    

Merci bcp. En fait je l'ai déjà fait (et je l'ai fait dynamiquement). C'est hier que j'ai posté le message :)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed