将MYSQL选择查询输出转换为HTML格式

时间:2015-09-03 13:11:02

标签: html mysql

请参阅我在下面提到的查询,我在mysql中以表格输出格式获取。我想将此查询输出更改为html格式,该怎么做?我是Mysql的新手。

    SELECT StoreName,
        StoreCode AS `Code`,
        LogoUrl,
        BusinessStart AS `Starting Time`,
        BusinessEnd AS `Closing Time`,
        ClosedOn AS `Closed Days`,
        MinOrderPrice AS `Minimum Order Price`,
        DeliveryCharges AS `Delivery Charges`,
        PackingTime AS `Packing Time`,
        Validity AS `Validity`,
        PhoneNumber AS `Contact Number`,
        ZipCode AS `Post Code`,
        Floor AS `Street`,
        Line1 AS `Line`,
        Line2 AS `County`,
        Line3 AS `Land Line`,
        CONCAT(c.Code, ' - ' ,c.Symbol) AS `Currency`
    FROM store s INNER JOIN currency c ON c.CurrencyId = s.CurrencyId
    WHERE StoreId = 4;

2 个答案:

答案 0 :(得分:1)

我没有任何关于你为什么要这样做的背景,但如果我需要做一个类似的任务,我会分两个阶段完成。首先,我将MySQL数据导出为简单的机器可读格式,如CSV。您可以使用SELECT .. INTO命令(https://dev.mysql.com/doc/refman/5.0/en/select-into.html)执行此操作。

获得CSV数据后,我会使用脚本语言转换为HTML。这里有一些基本的Ruby代码要演示。

require 'csv'

File.open("output.html", 'w') do |file|
  file.write <<-HEADER
    <!DOCTYPE html>
    <html lang="en">
      <head>
        <meta charset="utf-8">
        <title>title</title>
      </head>
      <body>
        <table>
  HEADER

  CSV.foreach("your-file.csv") do |row|
    file.write <<-HTML
      <tr>
        <td>#{row[0]}</td>
        <td>#{row[1]}</td>
        <td>#{row[2]}</td>
      </tr>
    HTML
  end

  file.write <<-FOOTER
    </table>
    </body>
    </html>
  FOOTER
end

此代码需要一个名为your-file.csv的CSV文件,该文件有三列,例如

first column,second column,third column

此CSV将转换为名为output.html的HTML文件,如下所示:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>title</title>
  </head>
  <body>
    <table>
  <tr>
    <td>first column</td>
    <td>second column</td>
    <td>third column</td>
  </tr>
</table>
</body>
</html>

答案 1 :(得分:0)

Vijay,鉴于您对mysql的新观点,我同意halfer和Alex,您应该使用辅助语言来解析这些结果并输出html。 现在无论出于什么原因你需要将结果集转换为HTML,我的最佳猜测和建议如下 以下示例

  

SELECT 
      CONCAT("<div>",
           GROUP_CONCAT(
                CONCAT("<span>",username,"</span><br/>"),
                CONCAT("<span>",email,"</span>")
           )
      ,"</div>")  AS html FROM users;

这将返回包含以下内容的单个字符串:

<div><span>username</span><br/><span>email@email.com</span></div>

如果这是你想要达到的目的,那么上面的例子就是你在正确的轨道上以你喜欢的方式格式化你的结果。

相关问题