Aller au contenu

les jointures


Sujets conseillés

Posté

Bonjour le hub,

je suis en cours de développement d'un moteur de recherche pour mon site....

Le probleme est le suivant :

je dois rechercher une chaine de caractere dans 2 tables différente

Je vous laisse le code de ma requete :

$req=mysql_query("select annuaire.id, annuaire.id_sous_cat, annuaire.nom, annuaire.url, annuaire.description, annuaire.image, annuaire.date_ajout, annuaire.nb_clic, ann_corps.id, ann_corps.id_cat, ann_corps.titre, ann_corps.ss_titre, ann_corps.corps, ann_corps.date, ann_corps.nb_lecture, from annuaire, ann_corps where (nom like '%$mot_cle%' or mot_cle1 like '%$mot_cle%' or mot_cle2 like '%$mot_cle%' or mot_cle3 like '%$mot_cle%') and valider='1'");
while ($res=mysql_fetch_array($req)) {

bien entendu ca ne fonctionne pas...

donc je me pose la question suivante :

est-ce qu'il faut obligatoirement un champ de correspondance entre les 2 tables ??

pour info je vous met le message d'erreur :

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/gontran/www/search.php on line 28

merci

Posté

dans ce passage :

ann_corps.nb_lecture, from annuaire

tu as une virgule en trop avant la table...

mais sinon, pour une jointure, il te faut une relation... sinon c'est plutot une union que tu souhaites faire (resultat table1 + resultat table2)

Posté

Pour faire une 'union', il faut que tes 2 tables renvoies les mêmes noms de données :

select membre_nom as nom from truc_membre union select user_nom as nom from truc_user

Tout simplement (enfin... presque.. )

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...