Bonjour,

J'ai une requête mysql qui fonctionne très bien.

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
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
$req = "SELECT maj_etat_civil.id_maj,id_user,maj_num_dos,maj_civilite_id, CONCAT(maj_nom,' ', maj_prenom,' ', maj_prenom_usage) as maj_nom,maj_etat_civil.id_trt,
			CONCAT(tiers_nom,' ',tiers_adr1,' ',tiers_adr2,' ',tiers_adr3,' ',cp,' ',libelle) as maj_prenom
			FROM ".$prefixe_table."t_users_dossiers
			LEFT OUTER JOIN ".$prefixe_table."maj_etat_civil 
			ON t_users_dossiers.id_maj=maj_etat_civil.id_maj
			LEFT OUTER JOIN ".$prefixe_table."maj_adresses
			ON t_users_dossiers.id_maj=maj_adresses.id_maj
			LEFT OUTER JOIN ".$prefixe_table."t_tiers
			ON t_tiers.id_tiers=maj_adresses.id_tiers
			LEFT OUTER JOIN ".$prefixe_table."t_ville
			ON t_ville.ville_id=t_tiers.tiers_ville_id
			WHERE '".$today."' BETWEEN (gest_date_debut AND gest_date_fin)
			AND t_users_dossiers.id_trt 
			BETWEEN 1 AND 4
			AND maj_etat_civil.id_trt 
			BETWEEN 1 AND 4
			AND tiers_nom LIKE '%$argument2%'
			OR '".$today."'>=gest_date_debut 
			AND 0<=gest_date_fin
			AND t_users_dossiers.id_trt 
			BETWEEN 1 AND 4
			AND maj_etat_civil.id_trt 
			BETWEEN 1 AND 4
			AND tiers_nom LIKE '%$argument2%'
			OR '".$today."' BETWEEN (gest_date_debut AND gest_date_fin)
			AND t_users_dossiers.id_trt 
			BETWEEN 1 AND 4
			AND maj_etat_civil.id_trt 
			BETWEEN 1 AND 4
			AND tiers_adr1 LIKE '%$argument2%'
			OR '".$today."'>=gest_date_debut 
			AND 0<=gest_date_fin
			AND t_users_dossiers.id_trt 
			BETWEEN 1 AND 4
			AND maj_etat_civil.id_trt 
			BETWEEN 1 AND 4
			AND tiers_adr1 LIKE '%$argument2%'
			OR '".$today."' BETWEEN (gest_date_debut AND gest_date_fin)
			AND t_users_dossiers.id_trt 
			BETWEEN 1 AND 4
			AND maj_etat_civil.id_trt 
			BETWEEN 1 AND 4
			AND tiers_adr2 LIKE '%$argument2%'
			OR '".$today."'>=gest_date_debut 
			AND 0<=gest_date_fin
			AND t_users_dossiers.id_trt 
			BETWEEN 1 AND 4
			AND maj_etat_civil.id_trt 
			BETWEEN 1 AND 4
			AND tiers_adr2 LIKE '%$argument2%'
			'".$today."' BETWEEN (gest_date_debut AND gest_date_fin)
			AND t_users_dossiers.id_trt 
			BETWEEN 1 AND 4
			AND maj_etat_civil.id_trt 
			BETWEEN 1 AND 4
			AND tiers_adr3 LIKE '%$argument2%'
			OR '".$today."'>=gest_date_debut 
			AND 0<=gest_date_fin
			AND t_users_dossiers.id_trt 
			BETWEEN 1 AND 4
			AND maj_etat_civil.id_trt 
			BETWEEN 1 AND 4
			AND tiers_adr3 LIKE '%$argument2%'
			ORDER BY maj_nom, maj_prenom
			limit $start,$nb_majeur";
Mon problème est juste au niveau de la performance. Existe-t-il une syntaxe plus légère de requête pour mysql au niveau de mes "OR" ?

Merci d'avance