J'ai besoin d'aide pour modifier un script que j'ai fais.
Il s'agit d'une requête qui doit me ressortir le résultat d'une recherche qui s'étend sur trois tables différents qui ont un champs commun avec une quatrième table nommée "membres". Il s'agit du champs ID.
En fait la table membres contient la liste des inscrits, et l'une des trois autres tables contient l'id de ce même membre, les autres tables sont en faite les types de comptes possibles sur le site.
Chaque table contient des champs qui lui est propre. Dans mon script javascript, on tape un nom ou un début de mot, et la requête s'effectue en temps réel vers la page php qui traite le mot tapé.
Tout fonctionnait jusqu'à ce que je décide de changer l'architecture de ma base de données, car avant cela, il n'y avait qu'une seule et même table pour tous les utilisateurs.
Mon objectif est donc de rechercher dans les trois tables des trois types de comptes si le mot y est présent dans les champs sélectionnés.
Donc :
- membres : ID,TYPE,EMAIL,etc...
- membres-chercheurs : ID_MEMBRE,NOM,PRENOM
- membres-recruteurs : ID_MEMBRE,NOM,PRENOM,RAISONSOCIALE
- membres-interims : ID_MEMBRE,RAISONSOCIALE
J'ai donc fait cette requête :
<?php
$suggest_total = db_query("SELECT
c.id_membre,
r.id_membre,
i.id_membre,
c.nom,
r.nom,
c.prenom,
r.prenom,
r.raisonsociale,
i.raisonsociale
FROM `membres-chercheurs` c,
`membres-recruteurs` r,
`membres-interims` i
WHERE
c.nom like('%" . $search . "%')
OR r.nom like('%" . $search . "%')
OR c.prenom like('%" . $search . "%')
OR r.prenom like('%" . $search . "%')
OR r.raisonsociale like('%" . $search . "%')
OR i.raisonsociale like('%" . $search . "%')
");
?>
Et elle ne fonctionne pas. Elle ne me sort pas de message d'erreur, mais j'ai 0 résultats alors que quand je change la requête pour ne chercher que dans une seule table, ça fonctionne.J'aimerais rajouter également que pour chaque résultat trouvé, j'aimerais qu'il cherche dans la table "membres-photos" la ligne correspondante à l'id du membre trouvé et qu'il me ressort son champs "image".
Avez-vous une idée de comment faire ça ? Pourriez-vous m'aider s'il vous plaît ? Je sais que c'est confus alors je vous donnerais un maximum de détails pour vous aider si ça ne vous dérange pas ... Je vous remercie de votre aide d'avance !