Bonjour,
J'ai un souci dans mon script de recherche. Je dois effectuer une recherche dans une base de données composée de deux tables. Les tables sont indépendantes, c'est à dire qu'elles n'ont pas le même nombre de champs, et elles n'ont pas non plus les mêmes noms de champs.
Pour être plus précise, je dois chercher dans les deux tables la présence d'un mot clé que l'utilisateur aura envoyé par un moteur de recherche.
J'ai fait une requête avec la jointure UNION, mais ça bloque... Je ne sais pas si c'est parce que j'ai mail formulé la requête ou si c'est parce que j'utilise la mauvaise jointure :/
La requête bancale :
$requete = mysql_query(
"SELECT * FROM journaux
WHERE journal LIKE '%".$recherche."%'
OR titrej LIKE '%".$recherche."%'
OR numeroj LIKE '%".$recherche."%'
OR datej LIKE '%".$recherche."%'
OR notesj LIKE '%".$recherche."%'
OR mot1j LIKE '%".$recherche."%'
OR mot2j LIKE '%".$recherche."%'
OR mot3j LIKE '%".$recherche."%'
OR mot4j LIKE '%".$recherche."%'
OR mot5j LIKE '%".$recherche."%'
OR mot6j LIKE '%".$recherche."%'
OR mot7j LIKE '%".$recherche."%'
OR mot8j LIKE '%".$recherche."%'
UNION SELECT * FROM archive
WHERE doc LIKE '%".$recherche."%'
OR titre LIKE '%".$recherche."%'
OR auteur LIKE '%".$recherche."%'
OR date LIKE '%".$recherche."%'
OR lieu LIKE '%".$recherche."%'
OR editeur LIKE '%".$recherche."%'
OR notes LIKE '%".$recherche."%'
OR mot1 LIKE '%".$recherche."%'
OR mot2 LIKE '%".$recherche."%'
OR mot3 LIKE '%".$recherche."%'
OR mot4 LIKE '%".$recherche."%'
OR mot5 LIKE '%".$recherche."%'
OR mot6 LIKE '%".$recherche."%'
OR mot7 LIKE '%".$recherche."%'
OR mot8 LIKE '%".$recherche."%'")
or die (mysql_error());
Le message d'erreur :
The used SELECT statements have a different number of columns
Merci d'avance pour votre aide et vos suggestions!
Configuration: Windows XP
Firefox 3.0.10