FireStorm Posté 2 Novembre 2006 Posté 2 Novembre 2006 (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é 2 Novembre 2006 par FireStorm
NorSeb Posté 2 Novembre 2006 Posté 2 Novembre 2006 Bonjour, Et si tu expliquais aussi ce que tu cherche à faire... Ce serait plus simple pour nous tous de voir comment optimiser ton code
Jeromnimo Posté 2 Novembre 2006 Posté 2 Novembre 2006 (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é 2 Novembre 2006 par Jeromnimo
FireStorm Posté 2 Novembre 2006 Auteur Posté 2 Novembre 2006 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é.
FireStorm Posté 2 Novembre 2006 Auteur Posté 2 Novembre 2006 Jeromnimo ta présentation du code m'a l'air bien plus claire je pense que je vais l'adopter
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant