我正在处理一个WordPress数据库,它存储来自前端的表单数据。提交这些表单时,会分配一个与他们所在的Wordpress帖子相匹配的parent_id。
我将根据WP ID将列和行导出为CSV。
我面临的主要问题是只导出具有值的列。
例如,如果我在WP的206帖子上导出CSV,我需要将所有列与“#34;你想要免费纸张吗?"和#34;男性或女性"。
global $post;
global $wpdb;
$form_id = $post->ID;
$title = str_replace(' ', '-', get_the_title($form_id));
$title = preg_replace('/[^A-Za-z0-9\-]/', '', $title);
$filename = $title . '.csv';
$table_answers = $wpdb->prefix . "opforms_sub";
$output = fopen('php://output', 'w');
$headers = $wpdb->get_col("DESC wp_opforms_sub", 0);
fputcsv( $output, $headers);
header('Content-Type: text/csv; charset=utf-8');
header("Content-Disposition: attachment; filename=". $filename);
非常感谢提前!
答案 0 :(得分:0)
您可以使用以下查询
SELECT column_name FROM information_schema.columns WHERE table_name='wp_opforms_sub' LIMIT 0,7
而不是
DESC wp_opforms_sub
应该是
$headers = $wpdb->get_col("SELECT column_name FROM information_schema.columns WHERE table_name='wp_opforms_sub' LIMIT 0,7", 0);