Ça fait beaucoup de code à changer en cas d'évolution du projet.
Voici une solution plus économe: ne fais porter la condition que sur l'élément qui change ( ici, je ne trouve de différence qu'entre p.idde et p.ida
par conséquent, ton code pourrait être simplifié en :
$sql = 'SELECT p.*,m.pseudo FROM '.$prefixtable.'mp AS p LEFT JOIN '.$prefixtable.'membres AS m ON '.((!isset($_GET['send'])) ? 'p.idde=m.id WHERE ida' : 'p.ida=m.id WHERE idde' ).' = "'.intval($idmembre).'" and m.forum = "'.add_gpc($numduforum).'" and p.forum = "'.add_gpc($numduforum).'" ORDER BY id DESC ';
ou la différence confiée à une variable et cette dernière intégrée à la construction de ta requête:
$Variante = (!isset($_GET['send'])) ? 'p.idde=m.id WHERE ida' : 'p.ida=m.id WHERE idde' ;
$sql = 'SELECT p.*,m.pseudo FROM '.$prefixtable.'mp AS p LEFT JOIN '.$prefixtable.'membres AS m ON '.$Variante.' = "'.intval($idmembre).'" and m.forum = "'.add_gpc($numduforum).'" and p.forum = "'.add_gpc($numduforum).'" ORDER BY id DESC ';
Ça fait beaucoup de code à changer en cas d'évolution du projet.
Voici une solution plus économe: ne fais porter la condition que sur l'élément qui change ( ici, je ne trouve de différence qu'entre p.idde et p.ida
par conséquent, ton code pourrait être simplifié en :
[PHP]
$sql = 'SELECT p.*,m.pseudo FROM '.$prefixtable.'mp AS p LEFT JOIN '.$prefixtable.'membres AS m ON '.((!isset($_GET['send'])) ? 'p.idde=m.id WHERE ida' : 'p.ida=m.id WHERE idde' ).' = "'.intval($idmembre).'" and m.forum = "'.add_gpc($numduforum).'" and p.forum = "'.add_gpc($numduforum).'" ORDER BY id DESC ';[/PHP]
ou la différence confiée à une variable et cette dernière intégrée à la construction de ta requête:
[PHP]
$Variante = (!isset($_GET['send'])) ? 'p.idde=m.id WHERE ida' : 'p.ida=m.id WHERE idde' ;
$sql = 'SELECT p.*,m.pseudo FROM '.$prefixtable.'mp AS p LEFT JOIN '.$prefixtable.'membres AS m ON '.$Variante.' = "'.intval($idmembre).'" and m.forum = "'.add_gpc($numduforum).'" and p.forum = "'.add_gpc($numduforum).'" ORDER BY id DESC ';
[/PHP]