如何将多个可重复字段保存为数据库中的数组?

时间:2014-01-10 16:57:08

标签: php mysql arrays wordpress themes

关于我正在尝试制作幻灯片的主题。到目前为止,我已经完成了所有设置,当有多张幻灯片时,我只是不明白如何将它们保存在数据库中。

我将跳过代码,因为它非常大,只需添加输入值的示例。

每张幻灯片都是由图片上传字段(基本上是保存图片链接的文本字段)和幻灯片中文本的textarea字段组成的。

因此幻灯片的价值就是这样。

Slide 1 -> $slide[image][0]  -- $slide[text][0]

Slide 2 -> $slide[image][1]  -- $slide[text][1]

Slide 3 -> $slide[image][2]  -- $slide[text][2]

这是一个WordPress主题,所以它自己的wordpress能够在识别时保存数组。如果有人熟悉主题是基于选项框架。

当我保存这个时,这就是我在数据库中获得的。

a:1:{s:13:"slide_example";a:1:{s:5:"image";s:0:"";}}

当(我猜)应该是这样的

a:1:{s:13:"slide_example";a:1:{s:5:"image";s:0:"slide text";};a:2:{s:5:"image";s:0:"slide text";};a:3:{s:5:"image";s:0:"slide text";}}

2 个答案:

答案 0 :(得分:0)

您的值应设置如下:

Slide 1 -> $slide[0][image]  -- $slide[0][text]

Slide 2 -> $slide[1][image]  -- $slide[1][text]

Slide 3 -> $slide[2][image]  -- $slide[2][text]

答案 1 :(得分:0)

我让它发挥作用。我不确定这是否是正确的方法,但它现在正在运作。

我使用了array_map。

$slider = array_map(null, $slide['image'], $slide['editor'] );