Aller au contenu

Optimisation de test


Sujets conseillés

Posté (modifié)

Hello,

j'arrive pas à optimiser ce code (pb de logique!)

if (isset($_GET)) {
$year = 'YEAR(date) = \''.$_GET['annee'].'\' ';
$month = 'MONTH(date) = \''.$_GET['mois'].'\' ';
$day = 'DAYOFMONTH(date) = \''.$_GET['jour'].'\' ';
$with_year = 'AND '.$year;
$with_month = 'AND '.$month;
$with_day = 'AND '.$day;
if (isset($_GET['annee']) && ($_GET['annee'] != 'année')) {
if (isset($_GET['mois']) && ($_GET['mois'] != 'mois')) {
if (isset($_GET['jour']) && ($_GET['jour'] != 'jour')) {
$period = 'WHERE '.$year.$with_month.$with_day;
}
else { $period = 'WHERE '.$year.$with_month; }
}
elseif (isset($_GET['jour']) && ($_GET['jour'] != 'jour')) {
$period = 'WHERE '.$year.$with_day;
}
else { $period = 'WHERE '.$year; }
}
elseif (isset($_GET['mois']) && ($_GET['mois'] != 'mois')) {
if (isset($_GET['jour']) && ($_GET['jour'] != 'jour')) {
$period = 'WHERE '.$month.$with.$with_day;
}
else { $period = 'WHERE '.$month; }
}
elseif (isset($_GET['jour']) && ($_GET['jour'] != 'jour')) {
$period = 'WHERE '.$day;
}
else { $period = ''; }
}

Modifié par FireStorm
Posté

Bonjour,

Et si tu expliquais aussi ce que tu cherche à faire... Ce serait plus simple pour nous tous de voir comment optimiser ton code ;)

Posté (modifié)

Bonjour,

si j'ai bien compris ton code, tu cherches à génrérer un WHERE en fonction de 3 paramètres passés en GET, qui ont des valeurs par défaut (année, mois, et jour) ?

Je te proposes ceci :

if (isset($_GET)) {
$year = 'YEAR(date) = \''.$_GET['annee'].'\' ';
$month = 'MONTH(date) = \''.$_GET['mois'].'\' ';
$day = 'DAYOFMONTH(date) = \''.$_GET['jour'].'\' ';
$with_month = 'AND '.$month.' ';
$with_day = 'AND '.$day;
$first_where = false;
$period = '';
if (isset($_GET['annee']) && ($_GET['annee'] != 'année'))
{
$period = 'WHERE '.$year;
$need_where = false;
}
if (isset($_GET['mois']) && ($_GET['mois'] != 'mois'))
{
if($need_where == true)
{
$period = 'WHERE '.$month;
$need_where = false;
}
else
{
$period += $with_month;
}
}
if (isset($_GET['jour']) && ($_GET['jour'] != 'jour'))
{
if($need_where == true)
{
$period = 'WHERE '.$day;
$need_where = false;
}
else
{
$period += $with_day;
}
}
}
}

Modifié par Jeromnimo
Posté
Bonjour,

si j'ai bien compris ton code, tu cherches à génrérer un WHERE en fonction de 3 paramètres passés en GET, qui ont des valeurs par défaut (année, mois, et jour) ?

Hello !

merci pour ta proposition ça m'a l'air la plus interessante qu'on m'a proposé. :cool:

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...