Bonjour à tous ;
Voilà je n'ai pas pu résister de t'envoyer un nouveau PB à résoudre si tu peux, ce dernier est comme une petite tache sur une page de recherche du site
Il s'agit d'éviter l'affichage des résultats en double voir en triple lorsque je sollicite une recherche par liste déroulante. je t'explique :
j'organise une recherche par 03 listes ( donc 3 champs qui sont insérés dans 3 tables dont le type de relation est la suivant :
t1 à t2 à t3 et
t1 à t2 : 1 à +eur
t2 à t3 : : 1 à +eur
je voudrai faire en sorte que si je recherche une donnée dans chaque liste et qui soit en lien ( par le ID ) avec les 02 autres données, je n'obtiendrait pas le même résultat 03 fois mais un seul résultat, en supprimant les doublons d'affichage .
Rappel : il n ' ya pas de doublons dans la BDD s'agissant de ces donnés .
Voilà la requete qui fait appel aux données de chaque liste :
T1
$query =("SELECT intitule FROM 1_art GROUP BY 1_art.intitule");
T2
$query =("SELECT nom FROM 2_autr GROUP BY 2_autr.nom");
T3
$query =("SELECT titre FROM 3_oeuv GROUP BY 3_oeuv.titre");
Voilà maintenant la requete utilisée pour obtenir le résultat de chaque liste
1 2 3 4 5 6 7 8
| <?php
if (isset ( $_POST['search'])){
$roll =$_POST['intitule'];
$search = mysqli_real_escape_string ($conn, $_POST['search']);
$query =("SELECT * FROM 1_art WHERE 1_art.intitule LIKE '{$roll}' GROUP BY 1_art.id_art");
$result =mysqli_query ($conn, $query );
while ( $row = mysqli_fetch_array( $result)){
?> |
et pour la 02 ème liste
1 2 3 4 5 6 7 8
| <?php
if (isset ( $_POST['search'])){
$roll = $_POST['nom'];
$search = mysqli_real_escape_string ($conn, $_POST['search']);
$query =("SELECT * FROM 1_art JOIN 2_autr ON 1_art.id_art = 2_autr.autg WHERE 2_autr.nom = '{$roll}' GROUP BY 1_art.id_art");
$result =mysqli_query ($conn, $query );
while ( $row = mysqli_fetch_array( $result)){
?> |
et voici le resultat de la 03 ème liste
1 2 3 4 5 6 7 8
| <?php
if (isset ( $_POST['search'])){
$roll = $_POST['titre'];
$search = mysqli_real_escape_string ($conn, $_POST['search']);
$query =("SELECT * FROM (1_art JOIN 2_autr ON 1_art.id_art = 2_autr.autg) JOIN 3_oeuv ON 2_autr.id_aut = 3_oeuv.oeuvg WHERE 3_oeuv.titre = '{$roll}' GROUP BY 1_art.id_art");
$result =mysqli_query ($conn, $query );
while ( $row = mysqli_fetch_array( $result)){
?> |
Je sais que je dois ajouter un bout de php à chaque résultat mais lequel 
Toute proposition sera la bien venue
Merci d'avance
Partager