听起来很简单,但我不知道从哪里开始。
我的网站有一系列供用户选择的选项。根据该选择,构建查询,并从数据库中提取数据。然后以表格格式返回。
此时,数据已显示,用户可以单击按钮将记录导出到 Excel 工作表中。
这是查询:
<?php
function displayrecords(){
$place = $_GET['place'];
$time = $_GET['time'];
$name = $_GET['name'];
$sql_json = "";
$where = "";
if($place != ""){
$where = " `place` = '".mysql_real_escape_string($place)."'";
}
if($time != ""){
if( $where != "" ) $where .= " AND ";
$where .= " `time` = '".mysql_real_escape_string($time)."'";
}
If($name != ""){
if( $where != "" ) $where .= " AND ";
$where .= " `name` = '".mysql_real_escape_string($name)."'";
}
if ($where != "") $sql_json = "SELECT * FROM `database`" . " WHERE " . $where . ";";
$QueryResult = @mysql_query($sql_json) or die ('<div>Use filters to search</div>');
$resnum = mysql_num_rows($QueryResult);
if ($resnum == 0){
echo "<div>Your search returned no results</div";
}
else {
echo "<table>\n";
echo "<tr><th>Place</th>" . "<th>Time</th>" . "<th>Name</th></tr>\n";
while(($Row = mysql_fetch_assoc($QueryResult)) !== FALSE){
echo "<tr><td>{$Row[place]}</td>";
echo "<td>{$Row[time]}</td>";
echo "<td>{$Row[name]}</td></tr>";
};
echo "</table>\n";
}
}
?>
此时我可以在 html 中调用该函数:
<?php displayrecords(); ?>
然后这是我用于导出的按钮:
<input class="btn btn-success btn-small" type="submit" name="get_report" value="Get Report" />
这就是我陷入困境的地方。我知道我可能需要使用 javascript 之类的东西。请给我一些见解。无需记下我的代码。我使用常规 mysql,而不是 mysqli 或 pdo。
请告诉我接下来需要做什么才能使按钮正常工作,以便将其导出到 Excel 工作表。我将非常感谢您的帮助。
谢谢。
最佳答案
只需检查按钮是否被按下,并相应地返回 html 或 excel 数据。
if ($resnum == 0){
echo "<div>Your search returned no results</div";
}
else {
if (isset($_POST['get_report']){
// Use phpExcel class or just echo CSV formatted text with headers telling the browser its a CSV file
}else{
echo "<table>\n";
echo "<tr><th>Place</th>" . "<th>Time</th>" . "<th>Name</th></tr>\n";
while(($Row = mysql_fetch_assoc($QueryResult)) !== FALSE){
echo "<tr><td>{$Row[place]}</td>";
echo "<td>{$Row[time]}</td>";
echo "<td>{$Row[name]}</td></tr>";
}
}
关于php - 如何使用 PHP 将返回的数据表导出到 Excel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19124377/