recherche dasn la bdd

Répondre
sonia
le 01/02/2005 à 11:12
sonia
salut tout le monde,

enfet je voudrais faire un moteur de recherche qui va chercher ses information que dans la basse de données.
voila jai commencer a faire l'interface mais pour la recherche dans la basse de données je ne voi pa trop commen faire.
index.php:
<TABLE cellspacing="0" cellpadding="0" width="465" border="0">
<TBODY>
<FORM method="POST" name="FormRecherche" action="?recherche.php">
<TR>
<TD class="calinput"><TABLE align="center">
<TR>
<TD align="left" nowrap>Chercher </TD>
<TD align="left" nowrap><INPUT type="text" class="texte" name="rech_txt" value=""></TD>
<TD align="left" nowrap>dans</TD>
<TD align="left" nowrap><SELECT name="sur">
<OPTION value="tous">Tous les champs</OPTION>
<OPTION value="soc">Société</OPTION>
<OPTION value="np">Nom + Prénom</OPTION>
<OPTION value="add">Adresse</OPTION>
<OPTION value="tel">Numéro de téléphone</OPTION>
<OPTION value="mail">Adresse Email</OPTION>
</SELECT></TD>
<TD align="left" nowrap><INPUT type="button" class="PickList" name="btRecherche" value="OK" title="Lancer la recherche" onclick="javascript: document.FormRecherche.submit();"></TD>
</TR>
</TABLE></TD>



voila pour la page recherche.php je voit pa trop commen faire
si quelqun pourai maider sa serai super simpa.
mrc
LA GLOBULE
le 01/02/2005 à 11:24
LA GLOBULE
En fonctions des données de ton formulaire, il faut que tu construises une requete SQL qui va rechercher dans ta base de données.

Déjà, il faut savoir si societe, nom, adresse, etc... sont des champs qui appartiennent à la meme table ou non.

Si oui, il te suffit une requete de cette forme :

<?php
if ($_POST['sur'] == 'tous') {
$sql = 'SELECT truc FROM table WHERE soc LIKE "%'.$_POST['rech_txt'].'%" OR np LIKE "%'.$_POST['rech_txt'].'%" OR ...';
}
elseif ($_POST['sur'] == 'soc') {
$sql = 'SELECT truc FROM table WHERE soc LIKE "%'.$_POST['rech_txt'].'%"';
}
// etc...
?>


Voila pour le principe, maintenant, c'est à optimiser (là, ca fait un peu chargé).

Si tes champs ne sont pas dans la même table, il faudra changer le nom de la table en fonction des champs (dans le cas d'une recherche tous, il faudra inclure dans le FROM les tables necessaires à la racherche).
sonia
le 01/02/2005 à 11:42
sonia
merci d' avoir lu mon message.
mais je n' ai pas compri le code :
-$_POST['sur'] == 'tous'= sa je vois pas save dire quoi.
-'rech_txt'==sa osi


sa serai super sympa si tu pourai m' expliquer en detaille.
et oui les champ societe,nom,adresse sont des champs qui appartienne a la mm table.donc je peut utiliser ton code mais je ne comprend pas malheuresement*.
merci beaucoup pour ton aide.
LA GLOBULE
le 01/02/2005 à 11:45
LA GLOBULE
smiley

Ben l'idée, c'est de faire une recherche en fonction des critères saisis par le visiteur non ?

Donc, déjà, il faut tester quelle option du menu déroulant le visiteur a choisi ($_POST['sur']).
Et $_POST['rech_txt'], ben c'est le texte qu'a saisi le visiteur.



Tu me fais peur là, tu as compris le formulaire que tu as fais ?
Ou on te la fait ?
sonia
le 01/02/2005 à 11:47
sonia
dsl jsui un peu fatigué la jai compri merci non c moi qui la fai
merci beaucoup de m' avoir aider.
slt
sonia
le 01/02/2005 à 11:52
sonia
et mais di moi il fo que je fasse la connection a la basse et tt.
?
sonia
le 01/02/2005 à 12:27
sonia
regarde je lai fait mais sa marche pas.
voila mon code

http://www.lephpfacile.com/wall/wall.php?id=1984


la jai seulement tester sa marche pa sa maffiche erreur query vide.
je comprend pas
dsl sai vrai jsui chiente dsl.

[Modérateur : y'a le WALL pour poster des longs codes. Prochain coup, j'efface sans me poser de questions]
Répondre
LoadingChargement en cours