in der DB gibt es auch 26. und 31. Tage, aber nicht zu OK. nur 3. Tag bekommen und auf OK wechseln.PHP MYSQL Datumsbereich verpasste Tage
Wo bin ich falsch in diesem Code?
Code:
*$from = date("Y-m-01");
$to = date("Y-m-t"); // last day current month
$query = "SELECT date FROM tbl_data WHERE date BETWEEN '$from' AND '$to' order by date DESC";
$result = mysqli_query($mysqli,$query);
while ($row = mysqli_fetch_array($result, MYSQL_ASSOC))
{
$date = date_create_from_format('Y-m-d', $row['date']);
}
$cursor = date_create_from_format('Y-m-d', $from);
$finish = date_create_from_format('Y-m-d', $to);
while ($cursor != $date)
{
echo date_format($cursor,'Y-m-d') . "--- Missed <br>";
date_modify($cursor, '+1 day');
while($cursor == $date)
{
echo date_format($date,'Y-m-d') . "--- OK <br>";
date_modify($cursor, '+1 day');
}
while($cursor > $finish)
{
die();
}
}*
Ausgang:
2016-07-01 --- Missed
2016.07.02 --- Missed
2016.07.03 --- OK
2016.07.04 --- Missed
2016.07.05 --- Missed
2016.07.06 --- Missed
2016.07.07 --- Missed
2016.07.08 --- Missed
2016.07.09 --- Missed
2016.07.10 --- Missed
2016.07.11 --- Missed
2016.07.12 --- Missed
2016.07.13 --- Missed
2016.07.14 --- Missed
2016.07.15 --- Missed
2016.07.16 --- Missed
2016.07.17 --- Missed
2016.07.18 --- Missed
2016.07.19 --- Missed
2016.07.20 --- Missed
2016.07.21 --- Missed
2016.07.22 --- Missed
2016.07.23 --- Missed
2016.07.24 --- Missed
2016.07.25 --- Missed
2016.07.26 --- Missed
2016.07.27 --- Missed
2016.07.28 --- Missed
2016.07.29 --- Missed
2016-07-30 --- Verpasst
2016-07-31 --- Verpasst
Ich verstehe nicht, was Sie fragen möchten, bitte erläutern Sie Ihre Frage weiter. – Janno
Schließen Sie Ihre erste while-Schleife dort nicht, schließen Sie sie am Ende. – Rijin
nicht geändert Ich habe versucht, dass –