Je travaille sur l'exigence de générer des rapports pour chaque 1, 3, 6, 12 et 24 mois respectivement où l'utilisateur sélectionne son choix par une liste déroulante. J'ai d'abord écrit une requête pour générer un rapport pendant 1 mois, ce qui a bien fonctionné. Mais je ne suis pas sûr de savoir comment rendre cette sélection dynamique en fonction de la sélection des utilisateurs.comment obtenir des rapports trimestriels, semestriels, annuels et 24 mois dans mysql?
Ma requête est la suivante:
switch($months){
case "1":
$stmt = $pdo->prepare("SELECT count(*) as totalrows FROM today_analysis WHERE order_status=:order_status AND MONTH(track_date)=MONTH(CURDATE())");
break;
case "3":
$stmt = $pdo->prepare("SELECT count(*) as totalrows FROM today_analysis WHERE order_status=:order_status AND CEIL(MONTH(track_date)/3)");
break;
case "6":
$stmt = $pdo->prepare("SELECT count(*) as totalrows FROM today_analysis WHERE order_status=:order_status AND CEIL(MONTH(track_date)/6)");
break;
case "12":
$stmt = $pdo->prepare("SELECT count(*) as totalrows FROM today_analysis WHERE order_status=:order_status AND CEIL(MONTH(track_date)/12)");
break;
case "24":
$stmt = $pdo->prepare("SELECT count(*) as totalrows FROM today_analysis WHERE order_status=:order_status AND CEIL(MONTH(track_date)/24)");
break;
}
Ma Sélection menu déroulant est:
<select name="month_analysis" id="month_analysis" class="month_analysis">
<option value="1" <?php echo (isset($_GET['monthly']) && $_GET['monthly']=='1')?'selected':''?>>Current Month</option>
<option value="3" <?php echo (isset($_GET['monthly']) && $_GET['monthly']=='3')?'selected':''?> >3 Months</option>
<option value="6" <?php echo (isset($_GET['monthly']) && $_GET['monthly']=='6')?'selected':''?> >6 Months</option>
<option value="12" <?php echo (isset($_GET['monthly']) && $_GET['monthly']=='12')?'selected':''?> >12 Months</option>
<option value="24" <?php echo (isset($_GET['monthly']) && $_GET['monthly']=='24')?'selected':''?> >24 Months</option>
</select>
Actuellement, la requête semble fonctionner mais je ne suis pas sûr si elle fonctionne bien ou non. S'il vous plaît des suggestions/aide? Merci.
Vous voulez probablement utiliser 'BETWEEN', https://dev.mysql.com/doc/refman/5.7/en/comparison-operators.html#operator_between – Qirel