gontran Posté 3 Septembre 2006 Posté 3 Septembre 2006 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
Vincent Posté 3 Septembre 2006 Posté 3 Septembre 2006 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)
gontran Posté 3 Septembre 2006 Auteur Posté 3 Septembre 2006 oui dans ce cas c'est plustot une union... mais je ne connais pas du tout....
Anonymus Posté 3 Septembre 2006 Posté 3 Septembre 2006 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.. )
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant