2017-09-04 171 views
0

我被这个问题困住了,我有一个代码插入数据到数据库,并且在wordpress页面查询它。那么我想导出它在CSV,但我不知道如何做到这一点。我有在互联网上找到的代码,但没有工作。我不知道为什么,请检查我的代码。这是我的代码..

global $wpdb; 
    if(isset($_POST["Export"])){ 
    $result = $wpdb->get_results('SELECT * FROM backend_member', ARRAY_A); 

    header('Content-Type: text/csv'); 
    $date = date("Y-m-d H:i:s"); 
    header('Content-Disposition: attachment;filename=EXPORT_' . $date . '.csv'); 

    foreach ($result as $row) { 
     if ($row) { 
      exportCsv(array_keys($row)); 
     }} 
    while ($row) { 
     foreach ($result as $row) { 
       exportCsv($row); 
     }} 
    function exportCsv($rows) { 
     $separator = ''; 
     foreach ($rows as $row) { 
      echo $separator . $row; 
      $separator = ','; 
     } 
     echo "\r\n"; 
    } 
} 

<div><form class="form-horizontal" action="" enctype="multipart/form-data" method="post" name="upload_excel"> 
<div class="form-group"> 
<div class="col-md-4 col-md-offset-4"><input class="btn btn-success" name="Export" type="submit" value="export to excel" /></div> 
</div> 
</form></div> 

当我点击导出。我有一个错误。

This site can’t be reached 

The webpage at http://www.rimelig-skat.dk/din-admin/ might be temporarily down or it may have moved permanently to a new web address. 
ERR_INVALID_RESPONSE 
+0

你把你的代码放在哪里? –

+0

我把代码放在同一页面上。 –

+0

@BhumiShah请帮助我:( –

回答

0

下面是更新后的代码:

global $wpdb; 
if(isset($_POST["Export"])){ 
    $filename = 'test'; 
    $date = date("Y-m-d H:i:s"); 
    $output = fopen('php://output', 'w'); 
    $result = $wpdb->get_results('SELECT * FROM  tp_users', ARRAY_A); 
    fputcsv($output, array('ID', 'Title', ' Date')); 
    foreach ($result as $key => $value) { 
     $modified_values = array(
         $value['ID'], 
         $value['user_login'], 
         $value['user_email'] 
     ); 
     fputcsv($output, $modified_values); 
    } 
    header("Pragma: public"); 
    header("Expires: 0"); 
    header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); 
    header("Cache-Control: private", false); 
    header('Content-Type: text/csv; charset=utf-8'); 
    // header("Content-Type: application/octet-stream"); 
    header("Content-Disposition: attachment; filename=\"" . $filename . " " . $date . ".csv\";"); 
    // header('Content-Disposition: attachment; filename=lunchbox_orders.csv'); 
    header("Content-Transfer-Encoding: binary");exit; 
} 

HTML

<div><form class="form-horizontal" action="" enctype="multipart/form-data" method="post" name="upload_excel"> 

这段代码完全在我的wordpress工作的罚款。

+0

谢谢你,这是相同的页面吗?或者我需要在function.php上添加该代码?我会尝试这个。 –

+0

你需要在functions.php中添加动作 –

+0

我是在wordpress上使用小孩主题,需要更新什么function.php? –