Rechercher : dans
Par :

PHP/sql formulaire de recherche ????

Dernière réponse le 24 jan 2009 à 11:41:46 ben314, le 22 jan 2009 à 18:21:55 
 Signaler ce message aux modérateurs

Bonjour,

voila je cherche comment créer un formulaire, pour faire des recherche dans mes tables (sql).

J'ai deja créer le formulaire qui envoie 2 variables vers une page de recherche,
La ou je but c'est pour commander la recherche en php avec mes 2 variables et afficher le ou les resultat.

un truc dans ce genre la (mais ca ca marche pas)


$sql = 'SELECT * FROM '.$var1.' WHERE champ = '.$avr2.' ORDER BY tite ASC LIMIT

...
Le pirate n'est pas toujours celui qu'on croit....

Configurat­ion: Windows Vista
Internet Explorer 7.0

Meilleures réponses pour « PHP/sql formulaire de recherche ???? » dans :
[PHP] Upload de fichiers VoirLe langage PHP permet de gérer des fichiers envoyés (uploadés) grâce à un formulaire HTML. Formulaire d'envoi de fichiers Configuration de PHP pour permettre l'upload Récupération du fichier avec PHP Formulaire d'envoi de fichiers La...
[Webmaster] Un formulaire de contact pour votre site VoirCe formulaire permet d'avoir une page pour être contacté sur son site, sans utiliser de logiciel de messagerie. La personne qui vous contacte indique son adresse, l'objet du message et son message (évidemment). Le code est une version...
Installation rapide de LAMP (Apache+MySql+php) sous Linux VoirLAMP = Linux+Apache+MySql+Php. C'est le serveur web par excellence. L'ensemble est facile à installer. Installation rapide sudo aptitude install apache2 php5 mysql-server php5-mysql libapache2-mod-php5 Le mot de passe administrateur mySQL...
PHP - Bases de données VoirPhp permet un interfaçage très simple avec un grand nombre de bases de données. Lorsqu'une base de données n'est pas directement supportée par Php, il est possible d'utiliser un driver ODBC, pilote standard pour communiquer avec les bases de...
PHP - Créer un moteur de recherche VoirIdée générale Le moteur de recherche ci-dessous ne correspond qu'à une idée possible de moteur de recherche simple, ne gérant qu'un seul mot clé. Le concept du fonctionnement de ce moteur est de créer une base de donnée contenant les mots clés de...
PHP - Structures conditionnelles VoirQu'est-ce qu'une structure conditionnelle? On appelle structure conditionnelle les instructions qui permettent de tester si une condition est vraie ou non, c'est-à-dire si la valeur de son expression vaut 0 ou 1 (le PHP associe le mot clé true à 1...

1

Revan26914, le 22 jan 2009 à 18:34:45

Bonsoir,

Pour faire une recherche dans une table, il faut le faire dans la requête SQL en utilisant le critère LIKE (d'autres critère sont aussi possibles).

Pour LIKE:

==> http://www.siteduzero.com/...

Et pour le moteur de recherche en entier:

==> http://www.siteduzero.com/tutoriel-3-32002-un-moteur-de-recherche-par-mots-cles.html


Cordialement

Revan
Il y a 10 types de personnes dans le monde: ceux qui comprennent le binaire et ceux qui ne le comprennent pas.

Répondre à Revan26914

2

ben314, le 22 jan 2009 à 22:52:10

Merci de ta reponse, mais j'ai un petit probleme, je ne peut faire une recherche qu'avec un non exact .

j'ai tenter ceci mais je n'arrive pas a placer "%" qui permet de parfaire la recherche ???

<?php
// on se connecte à MySQL
include("_connexion.php");

// on recupere la donnee
$find = $_GET["find"];
$cat = $_GET["cat"];

// on crée la requête SQL
$sql = 'SELECT * FROM '.$cat.' WHERE tite LIKE '.$find.' ORDER BY tite ASC';

// on envoie la requête
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());

// on fait une boucle qui va faire un tour pour chaque enregistrement
while($data = mysql_fetch_assoc($req))
{
?>

J'ai essayer, ceci et a chaque fois ca ne marche pas :

$sql = 'SELECT * FROM '.$cat.' WHERE tite LIKE '.$find.%' ORDER BY tite ASC';

$sql = 'SELECT * FROM '.$cat.' WHERE tite LIKE '.$find%.' ORDER BY tite ASC';

$sql = 'SELECT * FROM '.$cat.' WHERE tite LIKE '.$find.' % ORDER BY tite ASC';

... Le pirate n'est pas toujours celui qu'on croit....

Répondre à ben314

3

Revan26914, le 22 jan 2009 à 23:51:39

Pour LIKE, il faut respecter la syntaxe suivante:

SELECT * FROM matable WHERE monchamp LIKE '%motclef%'  etc.


Le mot clef doit est entouré de %

Donc tu devrais avoir ça:

LIKE '%$find%'




Je t'expliquerai plus en détail demain, là je suis trop fatigué, je vais aller me coucher ;)

Il y a 10 types de personnes dans le monde: ceux qui compren­nent le binaire et ceux qui ne le comprennent pas.

Répondre à Revan26914

4

ben314, le 22 jan 2009 à 23:54:06

J'ai essayer cette techinique mais ca m'affiche plien de resultat (qui ne correspond pas) ou rien avec l'erreur suivante :

Erreur SQL !
SELECT * FROM mulien WHERE tite LIKE saw ORDER BY tite ASC
Unknown column 'saw' in 'where clause'


Rien a voir avec ma recheche, ....

Je me doute qu'il y a un truc qui cloche mais quoi ???


help
Le pirate n'est pas toujours celui qu'on croit....

Répondre à ben314

5

Revan26914, le 23 jan 2009 à 23:13:41

Il faut formuler la requête ainsi:

$sql = 'SELECT * FROM '.$cat.' WHERE tite LIKE \'%'.$find.'%\' ORDER BY tite';


Il y a 10 types de personnes dans le monde: ceux qui compren­nent le binaire et ceux qui ne le comprennent pas.

Répondre à Revan26914

6

ben314, le 24 jan 2009 à 01:21:35

Un vrai merci a toi ca marche nickel...
Le pirate n'est pas toujours celui qu'on croit....

Répondre à ben314

7

 Revan26914, le 24 jan 2009 à 11:41:46

De rien ;-)

Bonne continuation Il y a 10 types de personnes dans le monde: ceux qui compren­nent le binaire et ceux qui ne le comprennent pas.

Répondre à Revan26914