gpt4 book ai didi

php - CSV 输出显示整个 HTML 页面

转载 作者:行者123 更新时间:2023-11-29 13:17:05 27 4
gpt4 key购买 nike

我尝试仅显示使用 sql 查询找到的文件,但不是将这些文件打印到可下载文件中,而是将整个 html 页面与其一起打印。我一直在尝试添加

 break;

某处,但我不确定在哪里。

这是我的代码:

   if(isset($generate))
{

header("Content-Disposition: attachment; filename=\"generate_reports.csv\";" );
header("Content-type: application/vnd.ms-excel");

$out = fopen("php://output", 'w');
$flag = false;

$result = mysql_query("SELECT location_name From locations");
while(false !== ($row = mysql_fetch_assoc($result)))
{
if(!$flag)
{
$list = array("location_name"=>"location");
fputcsv($out, array_keys($list), ',', '"');
$flag = true;
}
fputcsv($out, array_values($row), ',', '"');
}
fclose($out);
}

编辑

我添加了它打印出来的 html 代码:

    <h1>Generate Reports</h1>
<form enctype="multipart/form-data" action="create" method="post">
<table>
<tr>
<td><strong>Materials</strong></td>

<?php
mysql_connect('localhost', 'root', '');
mysql_select_db ("design_portal");
$sql = "SELECT material_name FROM materials";
$result = mysql_query($sql);

echo "<td><select name='materials'>";

while ($row = mysql_fetch_array($result))
{
echo "<option value='" . $row['material_name'] . "'>" .
$row['material_name'] . "</option>";
}

echo "</select></td></tr> ";

$sql2 = "SELECT location_name From locations";
$result2 = mysql_query($sql2);

?>


<td><strong>Locations</strong></td>
<?php

echo "<td><select name='locations'>";
while ($row2 = mysql_fetch_array($result2))
{
echo "<option value='" . $row2['location_name'] . "'>" .
$row2['location_name'] . "</option>";
}

echo "</select></td></tr>";

?>
<tr>
<td><button name="submit" type=submit>Generate</button></td>
</tr>
</table>
</form>

最佳答案

假设 if(isset($generate)) 位只是整个文件的一小部分,我建议您放置一个 exit()fclose($out);

之后

break 仅在循环或开关中有用,并且只会执行脚本的其余部分。实际上,您想要完全终止脚本以防止它执行此操作并输出 html 的其余部分。

关于php - CSV 输出显示整个 HTML 页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21325809/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com