如何根据其他列值输出SQL列?

时间:2018-01-26 16:20:21

标签: php mysql sql wordpress csv

我正在处理一个WordPress数据库,它存储来自前端的表单数据。提交这些表单时,会分配一个与他们所在的Wordpress帖子相匹配的parent_id。

我将根据WP ID将列和行导出为CSV。

我面临的主要问题是只导出具有值的列。

WP Database Table Image

例如,如果我在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);

非常感谢提前!

1 个答案:

答案 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);