在以HTML格式显示时保留CGI脚本的原始输出格式

时间:2014-04-10 10:28:13

标签: html mysql bash cgi

我正在尝试编写一个cgi脚本,该脚本使用mysql查询从MySQL数据库中读取数据并将数据存储在变量中。变量输出使用HTML

显示

为了保留MySQL Query输出的原始格式,我使用了""显示变量值的字符,如此处所示。 How to get proper tabular output like the mysql command line from a bash script

但看起来在HTML中显示变量值时不保留原始格式。

这是MySQL Query

的输出
mysql -uroot -ptest -D mysql -e "select host,db from db " ;

+-----------+---------+ | host | db | +-----------+---------+ | www | test | | web | test | | localhost | bugs | | localhost | hrm | | localhost | ohrm | | localhost | otrs | +-----------+---------+ 6 rows in set (0.00 sec)

使用HTML

显示时,相同的输出如下所示

host db www test web test localhost bugs localhost hrm localhost ohrm localhost otrs

以上输出的HTML代码段如下

 #!/bin/bash

 echo "Content-type: text/html"
 echo ""

 echo "<html>"
 echo "<body>"`

 var=`mysql -h 127.0.0.1 -u root -p redhat -D mysql -e "select host,db from db;"`
 echo "$var"
 echo "</body>"
 echo "</html>"

如何在HTML中保留原始输出的格式。请建议。

1 个答案:

答案 0 :(得分:2)

您可以在执行mysql查询时添加-H--html命令行参数以获取HTML表输出。使用text/html mime类型。

修改您的查询:

mysql -h 127.0.0.1 -u root -p redhat -H -D mysql -e "select host,db from db;"