Сохранение исходного формата вывода сценария CGI при отображении в HTML

Я пытаюсь написать скрипт cgi, который считывает данные из базы данных MySQL с помощью запроса mysql и сохраняет данные в переменной. Вывод переменной отображается с использованием HTML

Чтобы сохранить исходный формат вывода MySQL Query, я использовал символ "" при отображении значения переменной, как это предлагается здесь. Как получить правильный табличный вывод, такой как командная строка mysql, из сценария bash

Но похоже, что исходное форматирование не сохраняется при отображении значения переменной в 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. Пожалуйста, предложите.


person Zama Ques    schedule 10.04.2014    source источник
comment
Попробуйте изменить тип mime содержимого с text/html на text/plain.   -  person vivekagr    schedule 10.04.2014
comment
Спасибо Вивек. Работает отлично .   -  person Zama Ques    schedule 10.04.2014
comment
Но здесь есть еще одна проблема. Теги HTML не обрабатываются после изменения типа контента text/plain   -  person Zama Ques    schedule 10.04.2014
comment
Да, text/plain предписывает браузеру рассматривать его как обычный текст и не обрабатывать в нем какой-либо HTML. Я только что опубликовал ответ для желаемого вывода HTML.   -  person vivekagr    schedule 10.04.2014


Ответы (1)


Вы можете добавить параметр командной строки -H или --html при выполнении запроса mysql, чтобы получить вывод таблицы HTML. Используйте для этого тип mime text/html.

Изменение вашего запроса:

mysql -h 127.0.0.1 -u root -p redhat -H -D mysql -e "select host,db from db;"
person vivekagr    schedule 10.04.2014
comment
Спасибо большое . Работает отлично . - person Zama Ques; 11.04.2014