par
albat » 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...
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
[size=59](Pour mes exemples, j'ai viré les commentaires : on est entre nous, on sait de quoi on cause...) ;)[/size]
[b]1. simplification d'écriture[/b] (suggérée par [b]Ouckileou[/b])
[php]//
if (isset($_POST["sortOrder"]!=0)) // Correct mais lourd
if (isset($_POST["sortOrder"])) // Correct et plus léger[/php]
[b]2. factorisation[/b]
[php]//
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[/php]
[b]3. opérateur ternaire[/b]
[php]//
if ($_POST["sortOrder"] == 1)
$requeteOrder .= "";
else
$requeteOrder .= " DESC";
// peut s'écrire plus avantageusement :
$requeteOrder .= ($_POST["sortOrder"]==1 ? "" : " DESC"); [/php]
En savoir plus sur l'[url=http://www.phpfrance.com/forums/voir_sujet-14111.php][b]opérateur ternaire[/b][/url]...