Bonjour à tous,
je souhaite réaliser un auto-join afin de trouver les "récidives".
Voici ma requête my_sql :
Qui fonctionne très bien et me donne dans phpmyadmin exactement ce que je souhaite (une ligne avec tous les champs des deux signalements concernés).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 $query = "SELECT DISTINCT * FROM signalements as s1 inner join signalements as s2 on (s1.engin_menant = s2.engin_menant or s1.engin_milieu = s2.engin_menant or s1.engin_mene = s2.engin_menant or s1.engin_menant = s2.engin_milieu or s1.engin_milieu = s2.engin_milieu or s1.engin_mene = s2.engin_milieu or s1.engin_menant = s2.engin_mene or s1.engin_mene = s2.engin_mene or s1.engin_mene = s2.engin_mene) and (s1.fct_globale = s2.fct_globale) and TO_DAYS(NOW()) - TO_DAYS(s1.date_incident) <= 30 and TO_DAYS(NOW()) - TO_DAYS(s2.date_incident) <= 30 and s1.fct_globale !='' and s1.id_signal < s2.id_signal ";
Cependant, je n'arrive pas à récupérer ensuite dans php les données. Plus précisément,
ne donne rien du tout et
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 while ($courant = mysql_fetch_assoc($result)){ echo $courant['s1.id_signal'].$courant['s2.lieu_incident']; }
donne les données du deuxième signalement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 while ($courant = mysql_fetch_assoc($result)){ echo $courant['id_signal'].$courant['lieu_incident']; }
Merci d'avance pour votre aide
Sébastien
Partager