Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> eksport z phpmyadmin do csv
polenspeed
post 13.02.2022, 19:54:21
Post #1





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 13.02.2022

Ostrzeżenie: (0%)
-----


Cześć. Podpiąłem sobie pod button funkcję, która eksportuje z bazy danych wszystkie rekordy ze statusem "oczekujące" oraz "reklamacja". Button działa, ale nie mam już kompletnie pomysłu jak ustawić poprawne kodowanie znaków, bo w dalszym stopniu jak otwieram w MS Excel to otrzymuję bez polskich znaków sad.gif(( Jeśli wrzucę wygenerowany plik CSV do arkuszy od Google to już jest wtedy wszystko tak jak powinno być, ale pojawia się kolejny problem, że po zapisaniu do excela znów otrzymuje plik tym razem z pustymi rekordami.
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;



Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.06.2025 - 07:36