Hello !
Ce post date, mais il em semble qu'il ressemble typiquement à un probleme dont j'ai eu à faire il y a quelques mois quand je débutais sur ce site
Tu déclares ta variable (recupération du contenu tappé dans le champs de recherche)
$result = htmlentities( $_POST['rechercher'] );
tu éxécutes l'action uniquement sur il y a eu l'action de RECHERCHE
1 2
| if ( isset ( $_POST['rechercher'] ) )
{ |
Si le résultat de la recherche n'est pas vide et s'il est supérieur à 1 (dans mon sens chercher une lettre est inutile, voire 2 selon ton domaine de recherche)
1 2 3
| if($result != "" && strlen ( $result ) > 1 )
{
//connexion sur ta base à faire |
tu sélectionnes tous les champs de ta tables, et tu recherches dans chacun des champs que tu désires contenant au moins le mot tappé par l'utilisateur
$sql = "SELECT * from TA_TABLE where ";
// le % avant/apres la variable siginifie que tu prendras toutes les lignes contenant au moins ces lettres "$result"
1 2 3 4
| $sql .= "Nom1p like '%".$result."%' OR Nom2P like '%".$result."%' ";
$res=odbc_exec($connect, $sql);
while(odbc_fetch_row ( $res ) )
{ |
// tu récupères tes variables
1 2
| $TonChamps1=odbc_result($res,"TON_CHAMPS1");
$TonChamps2=odbc_result($res,"TON_CHAMPS2"); |
// et là tu fais ton traitement
// traitement traitement traitemant ******************** //
// et un petit compteur pour compte le nombre de produits que tu as trouvé avec les mots clés tappés au préalable
1 2
| $Counter_products += 1;
} |
// et la ton traitement s'il n'y a aucun résultat
1 2 3 4 5
| if($Counter_products==0)
{
echo "Il n'y a aucun résultat pour votre recherche ".$result." ;
}
} |
// et la ton traitement si le champs de recherche est vide
1 2 3 4
| elseif(strlen ( $result ) == 0))
{
echo "Il n'y a aucun résultat pour votre recherche ".$result." ;
} |
// et la ton traitement si le champs de recherche ne contient qu'un seul caractère
1 2 3 4
| elseif(strlen ( $result ) == 1))
{
echo "Il n'y a aucun résultat pour votre recherche ".$result." ;
} |
// En cas d'erreur (il faut toujous les traiter)
1 2 3 4 5 6
| else
{
// traitement de ton erreur
}
} |
Donc ça donne :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| $result = htmlentities( $_POST['rechercher'] );
if ( isset ( $_POST['rechercher'] ) )
{
if($result != "" && strlen ( $result ) > 1 )
{
//connexion sur ta base à faire
$sql = "SELECT * from TA_TABLE where Nom1p like '%".$result."%' OR Nom2P like '%".$result."%' ";
$res=odbc_exec($connect, $sql);
while(odbc_fetch_row ( $res ) )
{
$TonChamps1=odbc_result($res,"TON_CHAMPS1");
$TonChamps2=odbc_result($res,"TON_CHAMPS2");
$Counter_products += 1;
}
if($Counter_products==0)
{
echo "Il n'y a aucun résultat pour votre recherche ".$result." ;
}
}
elseif(strlen ( $result ) == 0))
{
echo "Il n'y a aucun résultat pour votre recherche ".$result." ;
}
elseif(strlen ( $result ) == 1))
{
echo "Il n'y a aucun résultat pour votre recherche ".$result." ;
}
else
{
// traitement de ton erreur
}
} |
Voilà... Evidemment c'est à appronfondir ... je te mets jsute sur la voie
En éspérant que ça aideras quelqu'un comme les posts de ce site m'ont déjà beaucoup aidés et qu'ils m'aident encore
Partager