我正在寻找一种简单快捷的方法来将 PHP 中的 MySQL SELECT 查询结果打印为预格式化文本。我想要的是能够将查询对象传递给函数并获得记录集的打印输出,就像命令行 MySQL 客户端在运行 SELECT 语句时所做的那样。
下面是我希望它的外观的示例(即 ASCII):
+----+-------------+
| id | countryCode |
+----+-------------+
| 1 | ES |
| 2 | AN |
| 3 | AF |
| 4 | AX |
| 5 | AL |
| 6 | DZ |
| 7 | AS |
| 8 | AD |
| 9 | AO |
| 10 | AI |
+----+-------------+
它基本上适用于通用导入脚本,我正在执行 SELECT 查询并希望将结果显示给用户进行确认。
sprintf http://ca.php.net/manual/en/function.sprintf.php如果您必须有非 HTML 固定宽度输出,那么这是您的朋友。
ETA:
//id: integer, max width 10
//code: string max width 2
$divider=sprintf("+%-10s+%-13s+",'-','-');
$lines[]=$divider;
$lines[]=sprintf("|%10s|%13s|",'id','countryCode'); //header
$lines[]=$divider;
while($line=$records->fetch_assoc()) {
//store the formatted output
$lines[]=sprintf("| %10u | %2.2s |", $line['id'],$line['code']);
}
$table=implode("\n",$lines);
echo $table;
如果您想立即打印出来而不是存储结果,请使用printf
相反 - 相同的语法。有一个合理的 PHP (s)printf 教程here http://www.elated.com/articles/formatting-php-strings-printf-sprintf/.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)