Mam problem przy przesyłaniu daty starszej niż jeden miesiąc.
Zrobiłem formularz gdzie wybieramy datę od do. Dane przesyłam POST do skryptu który z bazy danych wybiera rekordy które mieszczą się w podanym zakresie dat i exportuję to do CSV który później jest pobierany.
Gdy wybieram np. od 01.09.2021 do 30.09.2021 wszystko ładnie się eksportuję. Natomiast gdy tylko przekroczę różnicę jednego miesiąca czyli wybiorę od 26.08.2021 do 30.09.2021 to dostaję komunikat że index data1 i data2 nie istnieje. Poniżej wklejam kawałek kodu formularza i skrypt php
formularz
<div class="card card-login mx-auto mt-5"> <div class="card-body"> <form action="kontrolaexportcsv2.php" method="post"> <input class='form-control' id='1' name='data1' type='date' value="<?php $datetime = new DateTime('today'); echo $datetime->format('Y-m-d'); ?>" required> <input class='form-control' id='2' name='data2' type='date' value="<?php $datetime = new DateTime('tomorrow'); echo $datetime->format('Y-m-d'); ?>" required> <input class="btn btn-lg btn-success btn-block" id="button" type="submit" value="Dalej"> </form> </div> </div> </div>
plik php
<?php require_once "polaczenie.php"; $data=$_POST['data1']; $data2=$_POST['data2']; $sql = "SELECT `numer_zle`,`data`,`zmiana`,`uszkodzenia`,`szyba`,`silikon`,`lakier`,`uwagi` FROM `kontrola_jakosci` WHERE `data` >= '$data' and `data`<='$data2' ORDER BY `data` ASC"; $rezultat = $polaczenie->query($sql); $ilewierszy = $rezultat->num_rows; if($ilewierszy>0) { $i=0; $naglowek = array("Numer","Data","Zmiana","Czy jest brak uszkodzeń?","Czy szyba jest zgodna ze standardem producenta?","Czy silikon jest położony zgodnie ze standardem?","Czy powłoka lakiernicza jest zgodna ze standardem>","Inne zauważone nieprawidłowości/uwagi"); fputcsv($plik,$naglowek); while($i<$ilewierszy) { $wiersz=$rezultat->fetch_assoc(); $numer=$wiersz['numer_zle']; $data=$wiersz['data']; $zmiana=$wiersz['zmiana']; $uszkodzenia=$wiersz['uszkodzenia']; $szyba=$wiersz['szyba']; $silikon=$wiersz['silikon']; $lakier=$wiersz['lakier']; $uwagi=$wiersz['uwagi']; if($uszkodzenia==1) { $uszkodzenia = "Tak"; } else if ($uszkodzenia==2) { $uszkodzenia="Nie"; } else if ($uszkodzenia==3) { $uszkodzenia="Warunkowo"; } if($szyba==1) { $szyba = "Tak"; } else if ($szyba==2) { $szyba="Nie"; } else if($szyba==3) { $szyba="Warunkowo"; } if($silikon==1) { $silikon = "Tak"; } else if ($silikon==2) { $silikon="Nie"; } else if ($silikon==3) { $silikon="Warunkowo"; } if($lakier==1) { $lakier = "Tak"; } else if ($lakier==2) { $lakier="Nie"; } else if ($lakier==3) { $lakier="Warunkowo"; } fputcsv($plik,$lista); $i++; } } $fileName = "kontrola.csv"; ?>
Może ktoś miał podobny problem?