2014-01-10 101 views
0

关于我工作的主题我试图做幻灯片。我有一切设置到目前为止,我只是不明白如何将它们保存在数据库中,当有多个幻灯片。如何将多个可重复字段保存为数据库中的数组?

我会跳过代码,因为它是非常大的生病只是添加输入值的例子。

每张幻灯片都由图片上传字段(基本上是保存图片链接的文本字段)和幻灯片中的文本的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";}} 
+1

这是默认的输出,如果你序列化的数组:[序号](http://php.net/manual/en/function.serialize.php) – bitWorking

+0

好吧,这说明了一些事情,以及这些数字的意思,但我仍然不明白如何使这个工作。我有可重复的文本字段的另一个功能。但那只有一个输入字段(文本),数组就像$ repeat_text [0],$ repeat_text [1],$ repeat_text [2]。哪个工作得很好。但是,这与每阵列号2输入字段我不知道如何解决。 –

回答

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] 
+0

这将有点难以制作。因为值$幻灯片[图像]编码在PHP和阵列号码添加JavaScript。 –

+0

您需要编辑js以便数字出现在单词之前,这就是为什么它没有保存。 – DNACode

+0

仍然相同,它保存完全一样,当数字是最后一次。 –

0

我做了它的工作。林不知道这是否是正确的方法,但它现在工作。

我使用了array_map。

$slider = array_map(null, $slide['image'], $slide['editor']); 
相关问题