
Jedynie poprawny format plików miałem eksportując zamówienia ręcznie z poziomu phpmyadmin ustwiając format jako CSV for MS Excel oraz kodawnie WIN-1250. Na bazie kodowanie ustawione na utf8mb4_unicode_ci. Dodatkowo mam pytanie, czy będzie się dało zrobić tak, aby dodać zadanie CRON i plik będzie generować się automatycznie raz dziennie o wskazanej godzinie oraz od razu leciał na wskazany przeze mnie adres e-mail.
$fname = 'zamowienia.csv';
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
$host = "xxx";
$username = "xxx";
$password = "xxx";
$dbname = "xxx";
$conn = new mysqli($host, $username, $password, $dbname);
if(!$conn){
die("Cannot connect to the database.". $conn->error);
}
$conn->set_charset("utf8");
$header = ["ID","imie", "aukcja", "wzor", "data", "data_zam","notatka","status","ship"];
$query = "SELECT * FROM orders WHERE (status='Oczekujące' OR status='Reklamacja' ) ORDER by ID";
$qry = $conn->query($query);
if($qry->num_rows <= 0){
echo "<script> alert('cos poszlo nie tak.'); location.href = 'index.php'; </script>";
exit;
}
//Open a File
$file = fopen($fname,"w");
// Attach Header
fputcsv($file, $header,',');
// Loop the data and put it into the CSV file
while($row = $qry->fetch_assoc()){
fputcsv($file, [$row['id'], $row['imie'], $row['aukcja'], $row['wzor'], $row['data'], $row['data_zam'],$row['notatka'],$row['status'],$row['ship']]);
}
echo "<script> location.href = '$fname'; </script>";
exit;