Outil de recherche

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Outil de recherche

par Truc » 23 déc. 2005, 19:38

Y moyen de faire des recherches aproximatives?
regarde du coté de l'attribut LIKE de mysql ou meme sur ce forum avec une petite recherche :wink:

par Tiger » 23 déc. 2005, 17:32

Oui c'est bon, une erreur de débutant :oops:

Y moyen de faire des recherches aproximatives?

par zeus » 23 déc. 2005, 16:21

Vu qu'un RESOLU est apparu, je pense que c'est bon mais si tu avais la bonté de nous le confirmer, ça serait un plus ;)

par zeus » 23 déc. 2005, 15:53

remplace ça
if($_POST['recherche']) 
par ça
if(isset($_POST['recherche']))

par Tiger » 23 déc. 2005, 15:49

Je déclare mes variables dans le if, même si le les met comme ça j'ai le même probleme
if($_POST['recherche'])
		{
            $cherche = $_POST['recherche'];
			//Requete
			$sql = "SELECT * FROM clients WHERE user = '".$cherche."'";
			$req = mysql_query($sql);
			
			echo "<br /><br /><br /><br />";
		
			//Tant qu'il y a des donnés retourné par la recherche, il les affiche
			while($data = mysql_fetch_array($req))
			{
				//Affiche les données
				$numclient = $data["no"];
				echo "<a href=\"modifclient2.php?no=".$numclient."\">$data[user]</a><br />" ;
			}
		}

par zeus » 23 déc. 2005, 15:43

L'opérateur d'égalité dans un if c'est ==, pas =

De plus, il faudrait que tu testes l'existence des variables plutôt de les comparer à quelquechose

Outil de recherche

par Tiger » 23 déc. 2005, 15:36

Voilà j'essaie de créer un outil pour rechercher dans ma base de donnée. J'ai quatre champs de recherche, un par client, un par province/état un par compagnie et un autre par personne.

Si je fais une premiere recherche par client, ça fonctionne, mais quand je veux en faire une avec un autre champs, ça bloque.

Code html des formulaires

Code : Tout sélectionner

Recherche par client :<br /> <form name="recherche" id="recherche" action="modifclient.php" method="post"> <input type="text" name="recherche" /> <input type="submit" name="Envoyer" /> </form> <br /><br /> Recherche par état/province :<br /> <form name="cher-province" id="cher-province" action="modifclient.php" method="post"> <input type="text" name="cher-province" /> <input type="submit" name="Envoyer" /> </form> <br /><br /> Recherche par compagnie :<br /> <form name="cher-cie" id="cher-cie" action="modifclient.php" method="post"> <input type="text" name="cher-cie" /> <input type="submit" name="Envoyer" /> </form> <br /><br /> Recherche par personne :<br /> <form name="cher-pers" id="cher-pers" action="modifclient.php" method="post"> <input type="text" name="cher-pers" /> <input type="submit" name="Envoyer" /> </form>
Code php
if(extract($_POST))
	{
		//Si le champ recherche est poster
		if($cherche = $_POST['recherche'])
		{
			//Requete
			$sql = "SELECT * FROM clients WHERE user = '".$cherche."'";
			$req = mysql_query($sql);
			
			echo "<br /><br /><br /><br />";
		
			//Tant qu'il y a des donnés retourné par la recherche, il les affiche
			while($data = mysql_fetch_array($req))
			{
				//Affiche les données
				$numclient = $data["no"];
				echo "<a href=\"modifclient2.php?no=".$numclient."\">$data[user]</a><br />" ;
			}
		}
		//Si le champ cher-province est poster
		else if($cherche2 = $_POST['cher-province'])
		{
			//Requete
			$sql = "SELECT * FROM clients WHERE province = '".$cherche2."'";
			$req = mysql_query($sql);
			
			echo "<br /><br /><br /><br />";
		
			//Tant qu'il y a des donnés retourné par la recherche, il les affiche
			while($data = mysql_fetch_array($req))
			{
				//Affiche les données
				$numclient = $data["no"];
				echo "<a href=\"modifclient2.php?no=".$numclient."\">$data[user]</a><br />" ;
			}
		}
		//Si le champ cher-cie est poster
		else if($cherche3 = $_POST['cher-cie'])
		{
			//Requete
			$sql = "SELECT * FROM clients WHERE cie = '".$cherche3."'";
			$req = mysql_query($sql);
			
			echo "<br /><br /><br /><br />";
			
			//Tant qu'il y a des donnés retourné par la recherche, il les affiche
			while($data = mysql_fetch_array($req))
			{
				//Affiche les données
				$numclient = $data["no"];
				echo "<a href=\"modifclient2.php?no=".$numclient."\">$data[user]</a><br />" ;
			}
		}
		//Si le champ cher-pers est poster
		else if($cherche4 = $_POST['cher-pers'])
		{
			//Requete
			$sql = "SELECT * FROM clients WHERE personne = '".$cherche4."'";
			$req = mysql_query($sql);
			
			echo "<br /><br /><br /><br />";
		
			//Tant qu'il y a des donnés retourné par la recherche, il les affiche
			while($data = mysql_fetch_array($req))
			{
				//Affiche les données
				$numclient = $data["no"];
				echo "<a href=\"modifclient2.php?no=".$numclient."\">$data[user]</a><br />" ;
			}
		}
    }
Et les codes d'erreur :

Notice: Undefined index: recherche in /Applications/MAMP/bin/mamp/Sites/admin/modifclient.php on line 66

Notice: Undefined index: cher-province in /Applications/MAMP/bin/mamp/Sites/admin/modifclient.php on line 79

Notice: Undefined index: cher-cie in /Applications/MAMP/bin/mamp/Sites/admin/modifclient.php on line 92

Donc a priorie c'est comme s'il cherchait quand même dans le if, je sais pas trop, si quelqu'un a une idée