我的情况是我正在创建一个wordpress插件,它会在激活时在目录中创建一个表。
此表保存输入到插件中的信息,当输入信息时,用户可以选择上传图像。他们选择上传的号码我不知道。
我遇到的问题是弄清楚如何将这些URL添加到数据库中,确定我可以将它们放在那里,但我又不知道需要添加多少URL。
由于我无法使用wordpress进行规范化,我如何将URL存储在数据库中。假设他们上传了5张图片,但我没有5个单独的列(网址1,网址2 ...)
我还应该注意,这些图像将使用for循环获取,因此无论上传的数量如何,每个图像都将被发送。
任何帮助将不胜感激 欢呼声。
答案 0 :(得分:0)
如果要将所有图像网址或其他数据存储到一个数据库行中,则必须创建一个包含所需信息的数组,然后使用serialize
将此数组放入一个字段中。数据库。
此字段必须为TEXT
或LONGTEXT
才能收集所有这些信息。
然后,当您获得数据时,必须使用unserialize
,如果需要,数据将再次转换为数组。
这就是WP将信息存储在postmeta
表中的方式。
请注意,通过这种方式,您无法轻松查询数据,因此,如果这对您来说很重要,那么最好将每个图像存储在单独的行中。
答案 1 :(得分:0)
此外,您可以使用以下内容制作附加表:
id, information_id, filename, ordr
首先,插入infromation_table,获取最后插入的ID
然后,按顺序将所有文件名插入filenames_table
最后,您可以选择数据:
SELECT i.id, i.title, GROUP_CONCAT(a.filename ORDER BY a.ordr ASC SEPARATOR ',') AS filenames
FROM information_table AS i
JOIN filenames_table AS a ON (a.information_id = i.id)