FireStorm Posté 2 Novembre 2006 Partager 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 Lien vers le commentaire Partager sur d’autres sites More sharing options...
NorSeb Posté 2 Novembre 2006 Partager 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 Lien vers le commentaire Partager sur d’autres sites More sharing options...
Jeromnimo Posté 2 Novembre 2006 Partager 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 Lien vers le commentaire Partager sur d’autres sites More sharing options...
FireStorm Posté 2 Novembre 2006 Auteur Partager 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é. Lien vers le commentaire Partager sur d’autres sites More sharing options...
FireStorm Posté 2 Novembre 2006 Auteur Partager Posté 2 Novembre 2006 Jeromnimo ta présentation du code m'a l'air bien plus claire je pense que je vais l'adopter Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant