您希望在PHP和HTML输出之间有更多的分离。当您想要输出其他格式(如CSV)时,这将很好地为您服务。在这里,我将数据库结果放在文件的顶部,并在完成任何输出之前将它们加载到一个数组中 - 理想情况下,这将在一个单独的文件中完成。
然后我们可以检查是否需要CSV输出。我已经更改了数据库代码以返回关联数组而不是对象,这使得将每行传递给fputcsv()变得微不足道。
注意我还使用了alternative syntax和short echo tags来减少PHP / HTML混合。这是一个很好的做法。最后,你的HTML很乱;您在输出表之前关闭了主体,并省略了
和元素。$option = array();
$option['driver'] = 'mssql';
$option['host'] = 'IP Address';
$option['user'] = 'username';
$option['password'] = 'password';
$option['database'] = 'database';
$option['prefix'] = '';
$db = JDatabase::getInstance($option);
$query = "Select height, weight, userID, name from personelinfo;";
$db->setQuery($query);
$resultset = $db->loadAssocList();
if (!empty($_GET["csv"])) {
$out = fopen("php://stdout");
header("Content-Type: text/csv");
foreach ($resultset as $res) {
fputcsv($out, $res);
}
die;
}
?>
Testheight weight userID name
= $res["height"] ?>= $res["weight"] ?>= $res["userID"] ?>= $res["name"] ?>Export to CSV