【问题标题】:export mysql query result to php and maintain leading zero将mysql查询结果导出到php并保持前导零
【发布时间】:2011-08-06 11:50:33
【问题描述】:

我想将 sql 查询结果导出为 XLS 文件上的表(或任何可以在 ms excel 上作为表打开的东西)

我试过这个»PHP code to convert a MySQL query to CSV

但是,它会删除结果中的所有前导零

如何维护/保留前导零?

【问题讨论】:

    标签: php mysql export


    【解决方案1】:

    在第一个零之前添加一个单引号,例如:'002

    这意味着您可能应该定义哪些列是文本,哪些是数字,并强制每个文本列以单引号开头。前缀为0的数字不是数字而是文本。

    【讨论】:

    • 如何在不添加单引号的情况下定义列类型,因为我不能/不应该修改 mysql 数据库上的数据。除了那个条件之外,查询的结果并不总是有前导零,只有其中一些有它
    • 我的意思是将输出而不是数据库上的引号添加到 while-foreach 中。为您的列定义定义一个数组,检查 foreach 循环是否在该列上,然后为输出添加前缀:$value = '"' . "'" . $value . '"' . "\t";
    • 好的,我试试。还有一个问题什么是 \t ?我在哪里可以找到关于那种字符串的参考?
    • 这是一个表格,搜索php doc上转义的特殊字符
    【解决方案2】:

    假设您想在通过 PHP MySql 查询导出为 CSV 时设置带前导“0”的电话号码,只需将结果数据写入如下

    '="'.$result['telephone'].'"'
    

    【讨论】:

      【解决方案3】:

      你见过这个使用像 Google AppInventor 这样的构建块方法的导出库吗?

      http://www.freegroup.de/software/phpBlocks/demo.html

      【讨论】:

      • 还没有看到,会研究一下
      猜你喜欢
      • 1970-01-01
      • 2019-11-08
      • 2018-02-04
      • 2017-12-31
      • 2013-05-13
      • 2017-02-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多