如何将自定义数据库数据导出到EXCEL文件

时间:2018-04-26 作者:Francesco Tonti

大家好,我有下面的代码,但当我点击生成的链接时,一个新页面打开,上面显示0。我做错了什么?

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="<?php echo $ajax_url; ?>"><button>Scarica csv</button></a>

1 个回复
SO网友:Mihai

尝试添加nopriv hook

add_action(\'wp_ajax_nopriv_csv_pull\',\'list_reservation_to_csv\');
这添加了一个选项,可以在不以注册用户身份登录的情况下运行该功能。

结束

相关推荐

从AJAX‘wpcf7_mail_ent’挂钩调用公共静态方法

我正在尝试从“wpcf7\\u mail\\u sent”挂钩(未登录用户从前端提交的表单)调用操作。它不起作用了。如果我从钩子调用相同的方法,即连接到“save\\u post”钩子的方法,它会工作。我从管理面板更新帖子。代码示例:插件#1(此部分有效)function event_updated( $post_ID, $post, $update ) { /* $post_ID(int) - Post ID. $post(WP_Post) - Post obje