ajax — Jak wyeksportować niestandardowe dane z bazy danych do pliku Excel
WordPress Development Stack Exchange to witryna z pytaniami i odpowiedziami dla programistów i administratorów WordPress. Rejestracja zajmuje tylko minutę.
Zarejestruj się, aby dołączyć do tej społeczności
Każdy może zadać pytanie
Każdy może odpowiedzieć
Najlepsze odpowiedzi są głosowane i trafiają na sam szczyt
Spytał
Oglądane
3 tys. razy
Cześć wszystkim. Mam poniższy kod, ale kiedy klikam wygenerowany link, otwiera się nowa strona z wartością 0. Co robię źle?
function list_reservation_to_csv() {
global $wpdb;
$table_name = $wpdb->prefix . 'prenotazione_eventi';
$file="email_csv"; // ?? not defined in original code
$results = $wpdb->get_results("SELECT * FROM $table_name",ARRAY_A);
if (empty($results)) {
return;
}
$csv_output=""".implode('";"',array_keys($results[0])).'";'."\n";;
foreach ($results as $row) {
$csv_output .= '"'.implode('";"',$row).'";'."\n";
}
$csv_output .= "\n";
$filename = $file."_".date("Y-m-d_H-i",time());
header("Content-type: application/vnd.ms-excel");
header("Content-disposition: csv" . date("Y-m-d") . ".csv");
header( "Content-disposition: filename=".$filename.".csv");
print $csv_output;
exit;
}
add_action('wp_ajax_csv_pull','list_reservation_to_csv');
$ajax_url = admin_url('admin-ajax.php?action=csv_pull');
<a href=" echo $ajax_url; ?>"><button>Scarica csv</button></a>
3
Spróbuj dodać hak nopriv
add_action('wp_ajax_nopriv_csv_pull','list_reservation_to_csv');
Dodaje to możliwość uruchomienia funkcji bez konieczności logowania się jako zarejestrowany użytkownik.
3
Polecam używać wtyczki WPAllExport; jest bardzo konfigurowalny i wykonuje mnóstwo ciężkiej pracy. Używałem go z powodzeniem do zarządzania eksportem danych o zdarzeniach w bardzo złożonych sytuacjach i wiem, że sprawdzi się świetnie. (Nie jestem z tym w żaden sposób powiązany; jestem po prostu szczęśliwym klientem.)
Zwykle staram się dowiedzieć, czy ktoś już próbował rozwiązać mój problem. W środowisku WordPress większość rzeczy została już rozwiązana.
domyślny