【问题标题】:MYSQL output into existing HTML templateMYSQL 输出到现有的 HTML 模板
【发布时间】:2013-01-31 10:52:57
【问题描述】:

如何使用 MySQL 和 Bash 将结果输出到现有的 html 模板中。

如果我写:

mysql --host="${VARS[6]}" --database="${VARS[9]}" --user="${VARS[7]}" \
      --password="${VARS[8]}" --execute="SELECT 1 FROM table_name" \
      --html --skip-column-names > $FILE

我得到结果

<TABLE BORDER=1><TR><TR><TD>1</TD></TR></TABLE>

我想得到

<TABLE><TR><TR><TD>1</TD></TR></TABLE>

如何重新声明一个模板,以便输出 MySQL?

【问题讨论】:

  • 如果您打算通过 BASH 执行此操作,您可以从 MySQL 输出为 XML 并使用 XSLT 对其进行格式化。
  • 我知道,我可以使用 XML。但我想从 MySQL 输出到 HTML。
  • XSLT 可以输出任何你想要的东西。包括 HTML。
  • 我了解 XSLT,但对于我的任务,我需要使用 HTML 文件,如 XML 文件。但是这个属性 BORDER=1 在 xml validate 中会出错。

标签: html mysql bash redeclare


【解决方案1】:

您可以对 MySQL 使用“--xml”选项,然后使用 XSLT 将生成的 XML 输出转换为 HTML 或某种其他形式的 XML。

否则,如果您不需要从 MySQL 检索包含空格的数据,您可以解析“mysql -ss”输出并在 Bash 中生成 HTML。

像这样:

mysql -ss your_mysql_option... |
    while read col1 col2 col3; do
        echo "
            <TR>
                <TD>$col1</TD>
                <TD>$col2</TD>
                <TD>$col3</TD>
            </TR>
        "
    done

【讨论】:

  • 这是解析结果的一种方式。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-17
  • 1970-01-01
  • 2015-04-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多