PHP/sql formulaire de recherche ????
Résolu/Fermé
Utilisateur anonyme
-
22 janv. 2009 à 18:21
Revan26914 Messages postés 1778 Date d'inscription dimanche 14 octobre 2007 Statut Contributeur Dernière intervention 15 octobre 2019 - 24 janv. 2009 à 11:41
Revan26914 Messages postés 1778 Date d'inscription dimanche 14 octobre 2007 Statut Contributeur Dernière intervention 15 octobre 2019 - 24 janv. 2009 à 11:41
A voir également:
- PHP/sql formulaire de recherche ????
- Formulaire de réclamation facebook - Guide
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Easy php - Télécharger - Divers Web & Internet
- Recherche adresse - Guide
- Recherche musique - Guide
4 réponses
Revan26914
Messages postés
1778
Date d'inscription
dimanche 14 octobre 2007
Statut
Contributeur
Dernière intervention
15 octobre 2019
320
22 janv. 2009 à 18:34
22 janv. 2009 à 18:34
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/tutoriel-3-34441-realiser-un-moteur-de-recherche-pour-son-site.html
Et pour le moteur de recherche en entier:
==> https://openclassrooms.com/fr/courses
Cordialement
Revan
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/tutoriel-3-34441-realiser-un-moteur-de-recherche-pour-son-site.html
Et pour le moteur de recherche en entier:
==> https://openclassrooms.com/fr/courses
Cordialement
Revan
Utilisateur anonyme
22 janv. 2009 à 22:52
22 janv. 2009 à 22:52
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';
...
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';
...
Revan26914
Messages postés
1778
Date d'inscription
dimanche 14 octobre 2007
Statut
Contributeur
Dernière intervention
15 octobre 2019
320
22 janv. 2009 à 23:51
22 janv. 2009 à 23:51
Pour LIKE, il faut respecter la syntaxe suivante:
Le mot clef doit est entouré de %
Donc tu devrais avoir ça:
Je t'expliquerai plus en détail demain, là je suis trop fatigué, je vais aller me coucher ;)
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 ;)
Utilisateur anonyme
22 janv. 2009 à 23:54
22 janv. 2009 à 23:54
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
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
Revan26914
Messages postés
1778
Date d'inscription
dimanche 14 octobre 2007
Statut
Contributeur
Dernière intervention
15 octobre 2019
320
23 janv. 2009 à 23:13
23 janv. 2009 à 23:13
Il faut formuler la requête ainsi:
$sql = 'SELECT * FROM '.$cat.' WHERE tite LIKE \'%'.$find.'%\' ORDER BY tite';
Utilisateur anonyme
24 janv. 2009 à 01:21
24 janv. 2009 à 01:21
un vrai merci a toi ca marche nickel...
Revan26914
Messages postés
1778
Date d'inscription
dimanche 14 octobre 2007
Statut
Contributeur
Dernière intervention
15 octobre 2019
320
24 janv. 2009 à 11:41
24 janv. 2009 à 11:41
De rien ;-)
Bonne continuation
Bonne continuation