【问题标题】:MySQL, PHP, extracting and formatting multiple values from on database fieldMySQL,PHP,从数据库字段中提取和格式化多个值
【发布时间】:2018-03-12 06:49:28
【问题描述】:

我是一个初学者并且被卡住了。任何帮助将不胜感激。

我在数据库中有一个文本字段,字段中的值如下,即:“John: 20; Dan: 30; Greg: 80; Sam: 66; Coco: 97;”这一切都在一个领域。

我想得到的结果如下: 约翰 20 岁 丹 30 岁 格雷格 80 岁了

谢谢

【问题讨论】:

  • 请提供示例数据库结构。还请澄清记录,在您的示例中是用分号分隔行还是都是一行?
  • @chris85 他写了“这一切都在一个领域”,所以我假设,这一切都在一个领域;o)。 Vladimir:想要解决方案全部是 mysql、php 还是不管怎样?
  • @Jakumi 如果提供可重现的代码会更好。正如我们在这里猜测的那样。
  • @chris85 我假设还没有代码。
  • 将您的数据存储在两列中(nameage)。那会让你的生活更轻松。您的下一个问题可能是“如何按年龄对数据进行排序?” - 用两列很容易回答。

标签: php mysql database web


【解决方案1】:
SELECT name + ' is ' + age + ' years old' 
FROM your_table_name

这里 name 是 people(John, Dan, Grek) 的列名,age 是年龄 (20, 30, 80) 的列名

【讨论】:

    【解决方案2】:

    请运行以下代码

    UPDATE your_table
    SET your_field = REPLACE(your_field, ':', ' is ')
    

    这会将 ':' 字符替换为 'is'

    UPDATE your_table
    SET your_field = REPLACE(your_field, ';', 'years old')
    

    这取代了';','岁'

    在这个查询的结尾

    John: 20; Dan: 30; Greg: 80; Sam: 66; Coco: 97;
    

    上面的字符串将在下面的字符串

    John is 20 years old Dan is 30 years old Greg is 80 years old  Sam is 66 years old Coco is 97 years old
    

    【讨论】:

    • REPLACE() 也适用于 SELECT,因此无需更新列值,就可以根据所需的输出从文本字段中进行 SELECT。
    猜你喜欢
    • 1970-01-01
    • 2013-06-25
    • 1970-01-01
    • 1970-01-01
    • 2013-05-02
    • 1970-01-01
    • 2013-12-14
    • 1970-01-01
    • 2012-03-10
    相关资源
    最近更新 更多