Champ Contient

Eléphant du PHP | 424 Messages

29 avr. 2006, 12:48

Bonjour à tous !

J'effectue une reherche dans ma base de donnée avec un petit formulaire qui contient un champ critere....

Le principe est simple si critere = un champ de ma base il m'affiche un tableau avec les résultats. Mon soucis c'est qu'il m'affiche le résultat que si c'est égal à la lettre pret ! quelle argument dois je utiliser pour lui dire de m'afficher le résultat si un mot de ma base contient critere ????

par exemple : critere = 'par'
Je veux qu'il m'affiche paris, parisi, parisot...

Merci pour votre aide
Youpi Youpi Yo !

Eléphant du PHP | 493 Messages

29 avr. 2006, 12:57

Voici la requête SQL. Il te faut utiliser LIKE au lieu de '=' puis encadrer ton critère par %. % est un 'Joker.

Code : Tout sélectionner

SELECT tes_champs FROM ta_table WHERE critere LIKE '%$critere%'
Et le code PHP :
$critere = 'par';
mysql_query( "SELECT tes_champs FROM ta_table WHERE critere LIKE '%$critere%'" );

Eléphant du PHP | 424 Messages

30 avr. 2006, 16:37

Ok j'ai fais ce script :
    <? 
$criteres= $_POST ['criteres'];

$sqlmatch = ("select * from clients where nom_client LIKE '%$criteres%'" );
mysql_query($sqlmatch) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); 
				if ($resselectmatch = mysql_query($sqlmatch)) {
			         $selectmatchs = mysql_fetch_array($resselectmatch);}
					
                print '<tr bgcolor="#0099FF" '.$color.'> 
                <td>'.$selectmatchs["nom_client"].'</td>
                <td>'.$selectmatchs["numero"].'</td></tr>';
    

?>
Par contre il m'affiche qu'une ligne comment faire pour lui dire de m'afficher tous les enregistrements dans le tableau ? par exemple j'ai dix enregistrements il me mettra qu'un !!!

Mercii
Youpi Youpi Yo !

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

30 avr. 2006, 17:36

Tu sembles oublier l'existence des boucles :wink:

suis les liens dans le code pour avoir des exemples.

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 424 Messages

30 avr. 2006, 17:45

Effectivement en rajoutant cela :
			 if ($resselectdip = mysql_query($sqlmatch)) {
         while ($selectdip = mysql_fetch_array($resselectdip))
         {
			
ca marche nikel !!!

Parfaiiiit merciiiiiii
J'édite mon post pour vous demander comment faire pour indiquer que la recherche ( critere ) soit faite sur 2 champs de ma base de donnée... par exemple sur le numer et le nom ! est ce possible ????? merciiii
Youpi Youpi Yo !

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

30 avr. 2006, 19:10

C'est possible et très facile mais il faut pour ça comprendre le fonctionnement des requetes et tu sauras exactement comment inclure une vérification sur deux champs.

Tu as une requete sur un champ suffit d'ajouter le 2ème, je suis sûr que tu as déjà effectué une telle requête avant. :wink:

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 424 Messages

01 mai 2006, 19:14

Ok ok j'ai trouvé merci pour votre aide !!!

:D
Youpi Youpi Yo !