Administrateur PHPfrance |
11457 Messages
25 août 2006, 14:42
Ne t'effraie pas. En fait, c'est tout simple.
J'ai utilisé trois astuces de développement :
1. simplification d'écriture
2. factorisation
3. opérateur ternaire
(Pour mes exemples, j'ai viré les commentaires : on est entre nous, on sait de quoi on cause...)
1. simplification d'écriture (suggérée par
Ouckileou)
//
if (isset($_POST["sortOrder"]!=0)) // Correct mais lourd
if (isset($_POST["sortOrder"])) // Correct et plus léger
2. factorisation
//
if ($_POST["sortOrder"] == 1)
$requeteOrder = " ORDER BY ".$_POST["sortColumn"];
else
$requeteOrder = " ORDER BY ".$_POST["sortColumn"]." DESC";
// Que $_POST["sortOrder"] soit égal à 1 ou non,
// $requeteOrder aura toujours pour valeur (au minimum) : " ORDER BY ".$_POST["sortColumn"]
// donc...
$requeteOrder = " ORDER BY ".$_POST["sortColumn"];
if ($_POST["sortOrder"] == 1)
$requeteOrder .= ""; // on n'ajoute rien ; ordre ASC par défaut
else
$requeteOrder .= " DESC"; // on ajoute la précision de l'ordre DESC
3. opérateur ternaire
//
if ($_POST["sortOrder"] == 1)
$requeteOrder .= "";
else
$requeteOrder .= " DESC";
// peut s'écrire plus avantageusement :
$requeteOrder .= ($_POST["sortOrder"]==1 ? "" : " DESC");
En savoir plus sur l'
opérateur ternaire...