【发布时间】:2013-09-09 13:15:29
【问题描述】:
我有一个用户选择或输入信息的过滤器,当他们点击提交时,会使用以下代码生成一个查询:
<?php
function displayrecords(){
$data1 = $_POST['data1'];
$data2 = $_POST['data2'];
$data3 = $_POST['data3'];
$sql_json = "";
$where = "";
if($data1 != ""){
$where = " `data1` = '".mysql_real_escape_string($data1)."'";
}
if($data2 != ""){
if ( $where != "" ) $where .= " AND ";
$where = " `data2` = '".mysql_real_escape_string($data2)."'";
}
if($data3 != ""){
if ( $where != "" ) $where .= " AND ";
$where = " `data3` = '".mysql_real_escape_string($data3)."'";
}
if ($where != "") $sql_json = "SELECT * FROM `database`" . " WHERE " . $where . ";";
$QueryResult = @mysql_query($sql_json) or die (mysql_error());
echo "<table>"
echo "<tr><th>Data1</th>" . "<th>Data2</th>" . "<th>Data3</th></tr>\n";
while(($Row = mysql_fetch_assoc($QueryResult)) !== FALSE) {
echo "<tr><td>{$Row['data1']}</td>";
echo "<td>{$Row['data2']}</td>";
echo "<td>{$Row['data3']}</td></tr>\n";
};
echo "</table>"\n";
}
}
然后它用这个吐出数据:
<?php displayrecords(); ?>
这里没有问题。查询生成器有效。数据在表格中呈现到屏幕上。
我现在需要做的是获取已返回到屏幕的数据,并使用与另一个提交按钮相同形式的另一个按钮将其导出到 Excel 工作表。这是相同形式的按钮:
<input class="btn btn-success btn-small" type="submit" name="get_report" value="Get Report" />
我不知道我是否可以在同一个表单中使用另一个提交按钮。我认为必须使用 javascript onclick() 函数。我不知道。我只需要将返回的数据导出到excel即可。
谁能帮忙?
【问题讨论】:
-
您使用陈旧、陈旧的
mysql_query界面有什么原因吗?正如您在此处演示的那样,与 PDO 等现代替代品相比,它使用起来非常笨重且笨拙。 -
我的下一个应用程序,我将使用 PDO。在那之前,你能回答我的问题吗?
-
您在第一个代码块中的最后一个
echo看起来可能会引发解析错误。