我正在开发一个包含大量os用户信息的Web应用程序(php,javascript,html)。它专为临时工作而设计。
问题是,我有三个表(mysql),其中包含有关用户的信息。一个用于地址和其他内容,另一个用于驱动程序许可证,证书,...,以及最后一个用户体验。
我想要做的是,有一个“打印”按钮,可以在一个文件中生成包含所有数据的txt文件。问题是,我已经知道如何去做。
1)使用用户名检索联接中表格的所有信息。 2)我已经使用“resource_to_array”函数来构建包含所有数据的数组 3)我可以去数组的每一列并保存我想要的信息
但我要问的是经验做这样的事情。这对我来说是第一次,我希望它能够为未来做好和可扩展。
如何成为实施它的好方法?另外,我怎样才能创建包含所有信息的纯文本? (这部分是我更加怀疑的地方)
我知道这可能是一个奇怪的问题..但我不想要代码,我只想要实现的愿景。此外,是否存在类似于我想要做的事情的库?
非常感谢。
答案 0 :(得分:2)
首先创建一个生成文本文件的链接。
<a href="print.php">Print</a>
现在,在print.php
你必须把你的逻辑。
"array"
以构建包含所有数据的数组。text
文件中保存要保存的数组中的元素。file handling
创建带有保存数据的文本文件。逻辑就在这里(print.php):
<?php
$conn = new mysqli("host-name","username","password","database-name");
$query = "....";
$result = $conn->query($query);
$rs = $result->fetch_array(MYSQLI_BOTH);
while($rs = $result->fetch_array(MYSQLI_BOTH))
{
$data = $rs['column-name']; // data you want to save in text file
$f = fopen("save.txt", 'a');
fwrite($f, $data);
fclose($f);
}
$filename = "save-data.txt"; // name of the file you want to download on clicking the link
$file = "save-data.txt";
$type = filetype($file);
// Send file headers
header("Content-type: $type");
header("Content-Disposition: attachment;filename=$filename");
header("Content-Transfer-Encoding: binary");
header('Pragma: no-cache');
header('Expires: 0');
// Send the file contents.
set_time_limit(0);
readfile($file);
?>
旁注:a
开关附加到文件。如果您不想继续添加,请使用w
开关:
$f = fopen("save.txt", 'w');
我希望它会对你有所帮助。