好了,我知道我最近在用php编写查询并将它们输出到文本文件方面得到了很多帮助。我终于掌握并学会了如何真正做到这一点(谢谢大家!)下面的代码显示了我所拥有的:
现在我知道表结构(th/tr/td)在文本文件中不起作用。我想知道是否有人知道如何将其放入传统的“列”视图中,例如:
id || title || keyword
================================
2 || bob || jones
2 || bob || jones
2 || bob || jones
2 || bob || jones我不一定需要边框或任何东西,只需要一个易于阅读的格式。这个输出的文件将用于我工作的公司的google产品(我相信他们需要一种易于阅读的格式,或者只是以表格形式设置的格式。我可以做一个CSV,但是我知道的比php少。再次感谢。
发布于 2011-05-19 10:43:54
好的,让我们看看我们怎么做。我将重点介绍相关的页眉打印和显示格式化结果。因此,在本例中,我们将使用fprintf将一些花哨的格式化文本打印到这里的文件中。所以这基本上是如何做到这一点的:
id || title || keyword首先,我们需要为这些字段设置一些宽度,以便所有内容都能很好地显示出来。我们将每个元素的宽度设置为10:
fprintf($fh, "%-10s || %-10s || %-10s\n", "id", "title", "keyword");这个%-10s的作用是告诉我们,我们需要一个宽度为10个字符的字符串,如果长度不够,则使用空格进行填充。您可以将10调整为您想要的任何宽度,以获得最佳结果。结果如下所示:
id || title || keyword接下来我们打印出我们的分隔符,我只是稍微调整了一下长度,直到它出来的长度相同:
fprintf($fh, "===================================\n");然后我们遍历并打印出我们的值:
while ($row = mysql_fetch_assoc($result)) {
fwrite($fh, "%-10s || %-10s || %-10s\n" $row['card_id'], $row['title'], $row['description']);
}这将会给我们类似这样的结果:
id || title || keyword
===================================
2 || bob || jones
2 || bob || jones
2 || bob || jones
2 || bob || jones 就是这样!下面是完整的代码以供参考:
<?php
// Make a MySQL Connection
mysql_connect("mysql4.host.net", "user", "pass") or die(mysql_error());
mysql_select_db("amyadele_test") or die(mysql_error());
// Query the database for data
$query = "SELECT card_id,title,description FROM cards";
$result = mysql_query($query);
// Open file for writing
$myFile = "test.txt";
$fh = fopen($myFile, 'w') or die("can't open file");
// Loop through returned data and write (append) directly to file
fprintf($fh, "%-10s || %-10s || %-10s\n", "id", "title", "keyword");
fprintf($fh, "===================================\n");
while ($row = mysql_fetch_assoc($result)) {
fprintf($fh, "%-10s || %-10s || %-10s\n", $row['card_id'], $row['title'], $row['description']);
}
// Close out the file
fclose($fh);
?>发布于 2011-05-19 10:33:53
CSV对于fputcsv来说微不足道。
$fh = fopen('output.csv', 'w') or die("can't open file");
// output header and first row
$row = mysql_fetch_assoc($result)
fputcsv($fh, array_keys($row));
fputcsv($fh, $row);
// output the remaining rows
while ($row = mysql_fetch_assoc($result)) {
fputcsv($fh, $row);
}
fclose($fh);https://stackoverflow.com/questions/6053095
复制相似问题