将php导出到csv而不使用查询或

dy1byipe  于 2021-06-19  发布在  Mysql
关注(0)|答案(2)|浏览(405)

我有一个php查询工作没有问题。但是,在导出到csv文件之前,我需要使用正则表达式来定制一些变量的外观。我也有这个工作。

$form_field_number_UPD = preg_replace('(\W{3}.*)', '\n', $form_field_number);

我的问题是我需要导出这些定制的变量,而不是原始的查询结果。
这可能吗?
也,
我一直在尝试在MySQL5.7中使用正则表达式,但没有成功。mysql 5.7中是否有preg\u replace等价物?我还没找到。MySQL7中似乎有一个,但我还不能升级。
我的php,我想找到一个mysql等价物:

$form_field_number_UPD = preg_replace('(\W{3}.*)', '\n', $form_field_number);

我在下面试过,但不起作用。

REPLACE(fd.form_field_number, '(\W{3}.*)', '\n', 1, 5) AS New_Field

谢谢你的帮助,即使是“看这里…”
修订过的::
我有一个复选框组列,其中的结果是:

result 1|~|result 1
result 2|~|result 2
result 3|~|result 3

正则表达式删除| ~ |及其右边的所有内容,因此结果如下:

result 1
result 2
result 3

我可以用php做这个,但是需要把这些结果放到一个可下载的csv文件中。

tquggr8v

tquggr8v1#

我建议您使用mysql获取一个要导出到php的数据数组 SELECT 查询和使用php preg_replace() 声明,因为你知道这是有效的。从php数组将替换的数据导出到csv文件非常简单。
这个链接有关于如何做到这一点的代码示例的答案:通过php导出到csv

j2cgzkjk

j2cgzkjk2#

如果你的柱子总是用符号划界 |~| ,不需要正则表达式;查找这个精确序列的出现,并使用 SUBSTR 要砍掉剩下的绳子:

SELECT SUBSTR(fd.form_field_number, 1, LOCATE('|~|', fd.form_field_number)-1) AS trimmed
FROM ...

相关问题