Comment sélectionner 3tables d'une base de données?

farized Messages postés 20 Date d'inscription lundi 5 janvier 2009 Statut Membre Dernière intervention 3 janvier 2013 - 26 mai 2010 à 23:55
farized Messages postés 20 Date d'inscription lundi 5 janvier 2009 Statut Membre Dernière intervention 3 janvier 2013 - 27 mai 2010 à 12:58
salut j'ai fais un moteur de recherche interne pour mon site web, j'ai trouvé un script qui fonctionne bien mais je veux sélectionner 3tables au lieu d'une seule. j'ai éssayé mais je reçois tjrs un message(erreur de syntax) voila le code:

<?
if(isset($_POST['requete']) && $_POST['requete'] != NULL){
mysql_connect('localhost','root','');
mysql_select_db('parc');
$requete = htmlspecialchars($_POST['requete']);
$query = mysql_query("SELECT * FROM news WHERE nom LIKE '%$requete%' ORDER BY id DESC") or die (mysql_error());..............................................................................
...........................................................


voila je veuw ajouter 2 autres tables faune et flore:
j'ai fait:
SELECT * FROM news,faune,flore WHERE nom LIKE.....

est ce que vous pouvez m'aider?

3 réponses

nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
27 mai 2010 à 00:50
Salut,

il y a plusieurs possibilités

exemple
SELECT * FROM news WHERE nom LIKE '%$requete%' ORDER BY id DESC
UNION
SELECT * FROM faune WHERE nom LIKE '%$requete%' ORDER BY id DESC
UNION
SELECT * FROM flore WHERE nom LIKE '%$requete%' ORDER BY id DESC


Pas terrible pas d'ordre de tri correct par exemple

mieux

SELECT * from (
SELECT * FROM news
UNION
SELECT * FROM faune
UNION
SELECT * FROM flore )
WHERE nom LIKE '%$requete%'
ORDER BY id DESC


Attention les * ne fonctionne peut etre pas.

Sinon il y a la recherche fulltext
plus rapide et propre que les autres
http://omiossec.developpez.com/mysql/fulltext/
0
farized Messages postés 20 Date d'inscription lundi 5 janvier 2009 Statut Membre Dernière intervention 3 janvier 2013 1
27 mai 2010 à 12:57
pour le code2: vola le msg d'érreur:



Every derived table must have its own alias
0
farized Messages postés 20 Date d'inscription lundi 5 janvier 2009 Statut Membre Dernière intervention 3 janvier 2013 1
27 mai 2010 à 12:58
et pour le code1:

Incorrect usage of UNION and ORDER BY
0
Rejoignez-nous