Ich folgte der ersten Antwort auf this question, aber ich habe ein paar Probleme mit meiner SQL-Abfrage. Ich bekomme kein Ergebnis.
Welchen Fehler habe ich gemacht?
Wie kann ich CURDATE immer am ersten Tag des Monats einstellen?sql nehmen alle Fragen von letzten Monat
SELECT DATE_FORMAT(`date`, '%Y-%m-%d') , `price`
FROM `sales`
WHERE `id` = :id
AND (`date` BETWEEN CURDATE() - INTERVAL 30 DAY AND CURDATE())
bearbeiten Whole Code:
$verkaufmonat3 = 0;
$verkaufmonatanzahl2 = 0;
$verkaufmonat4 = array();
$sqluser5 = $X['dbh']->prepare("SELECT DATE_FORMAT(`date`, '%Y-%m-%d') , `preis` FROM `verkauf` WHERE `vertreterid` = :id AND (`date` BETWEEN CURDATE(), '%Y-%m-01' - INTERVAL 60 DAY AND CURDATE(), '%Y-%m-01')");
$sqluser5->execute(array(
':id'=>$_SESSION['id']
));
$verkaufmonatanzahl2 = $sqluser5->rowCount();
$verkaufmonat4 = $sqluser5->fetchAll();
for ($a = 0; $a <= $verkaufmonatanzahl2; $a++) {
$verkaufmonat3 += $verkaufmonat2[$a]['preis'];
}
In meiner Datenbank habe ich einen Verkauf auf dem 2016.10.28 Wich hat für ex. ein Wert von 50 eur. So sollte mein $ verkaufmonat3 50 sein ist es aber nicht, es ist 0.
http://stackoverflow.com/questions/11808232/how-do-i-get-the-first-day-of-the-curr Ent-Monat, http://blog.sqlauthority.com/2014/04/09/mysql-finding-first-day-and-last-day-of-a-month/, – ADyson
Ich glaube, das Problem ist, dass Sie ID angeben hier, während Sie Daten brauchen reichen nur – Stan