Folgende zwei Querys ... Code: //HEUTE $orders_today_query = xtDBquery(" SELECT sum(ot.value) FROM ".TABLE_ORDERS." o, ".TABLE_ORDERS_TOTAL." ot WHERE o.date_purchased LIKE '".date("Y-m-d")."%' AND ot.orders_id = o.orders_id AND ot.class = 'ot_total' "); $orders_today = xtc_db_fetch_array($orders_today_query); //GESTERN $orders_yesterday_query = xtDBquery(" SELECT sum(ot.value) FROM ".TABLE_ORDERS." o, ".TABLE_ORDERS_TOTAL." ot WHERE o.date_purchased LIKE '".date("Y-m-d",time() - 86400)."%' AND ot.orders_id = o.orders_id AND ot.class = 'ot_total' "); $orders_yesterday = xtc_db_fetch_array($orders_yesterday_query); ... lesen ein und diese selben Summen ein ... nur für verschiedene Zeiträume. Wenn man dies auf mehr Summen und mehr Zeiträume ausdehnt, vermehren sich Querys m.E. ins Astronomische. SQL-Dummy-Spezialfrage: Kann man solche Abfragen nicht zusammenfassen? Wenn "JA" - wie?
Ja .. vielleicht auch unpräzise gefragt! Bezogen auf das Beipiel: Statt zwei DB-Anfragen zusammenfassen zu einer Abfrage.
Das könnte funktionieren, um z.B. den Umsatz im September 2013 zu ermitteln (ungetestet): PHP: <?php$today=time();$day_delta=86400;$end_date='2013-09-01';$end_date='2013-10-01';$start_date=strtotime($start_date);$end_date=strtotime($end_date)-$day_delta;$days_between = ceil(abs($end_date - $start_date) / $day_delta);$dates='';for ($i=1;$i<=$days_between;$i++){ if ($dates) { $dates.=','; } $dates.="'".date("Y-m-d",$today - $day_delta*($i-1))."'";}$sql="SELECT sum(ot.value) as total, o.date_purchased FROM ".TABLE_ORDERS." o, ".TABLE_ORDERS_TOTAL." ot WHERE DATE(o.date_purchased) IN ($dates) AND ot.orders_id = o.orders_id AND ot.class = 'ot_total'";$orders_query = xtDBquery($sql);$total_value=0;while ($orders_total = xtc_db_fetch_array($orders_query)){ $date=$orders_total['date_purchased']; $date=strtotime($date); $date=date('d.m.Y',$date); $value=((float)$orders_total['total']; $total_value+=$value; echo "Umsatz vom $date: ".$value.'<br>';} setlocale (LC_TIME, "de_DE");echo "Gesamt-Umsatz im ".strftime('%B %Y',$date).": ".$total_value.'<br>';?>