2016-12-07 136 views
0

我想问一下,在将php数据导出到csv之前是否有可能先查询或过滤(例如:搜索名称)?我有一个将php数据导出到csv的代码,但我希望先将它过滤掉。将php导出到csv

这是我的php数据导出到csv的代码。

<?php 

// call export function 
exportMysqlToCsv('export_csv.csv'); 


// export csv 
function exportMysqlToCsv($filename = 'export_csv.csv') 
{ 

    $conn = dbConnection(); 
// Check connection 
if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
} 
$sql_query = "SELECT id, name, code FROM toy"; 

// Gets the data from the database 
$result = $conn->query($sql_query); 

$f = fopen('php://temp', 'wt'); 
$first = true; 
while ($row = $result->fetch_assoc()) { 
    if ($first) { 
     fputcsv($f, array_keys($row)); 
     $first = false; 
    } 
    fputcsv($f, $row); 
} // end while 

$conn->close(); 

$size = ftell($f); 
rewind($f); 

header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); 
header("Content-Length: $size"); 
// Output to browser with appropriate mime type, you choose ;) 
header("Content-type: text/x-csv"); 
header("Content-type: text/csv"); 
header("Content-type: application/csv"); 
header("Content-Disposition: attachment; filename=$filename"); 
fpassthru($f); 
exit; 

} 

// db connection function 
function dbConnection(){ 
$servername = "localhost"; 
$username = "root"; 
$password = "louchin"; 
$dbname = "phppot_examples"; 
// Create connection 
$conn = new mysqli($servername, $username, $password, $dbname); 
return $conn; 
} 

?> 

请帮助我,并建议如果可能。谢谢!

回答

0

数据在SQL查询叫了起来:

$sql_query = "SELECT id, name, code FROM toy";

我想你可以再补充一个WHERE子句此添加你的过滤器。

对于'MySQL WHERE'快速谷歌会给你很多地方你可以查看语法。

+0

是的,我知道!但我会先搜索它。请先评论以澄清。谢谢 – IKenat

+0

我想先查询它;例如:我想搜索一辆玩具车,所有名为“玩具车”的车都会显示。我可以先查询它,但是我不知道如何导出到csv。在上面的代码中,它直接导出到csv。 – IKenat