插入数组值,多行

时间:2013-02-07 22:15:46

标签: php mysql

我正在尝试在数据库上记录一些信息。我的帖子看起来像这样:

  Array
(
[Action] => 1000

[Date_Stat] => 07/02/2013
[Date_Final] => 07/02/2013
[Product_Id] => Array
    (
        [0] => 2
        [1] => 6
        [2] => 1
    )

[Conversion] => Array
    (
        [0] => 1,20
        [1] => 1,00
        [2] => 2,03
    )

[ValueMin] => Array
    (
        [0] => 2,00
        [1] => 1,58
        [2] => 2,70
    )

[ValueMax] => Array
    (
        [0] => 2,50
        [1] => 1,98
        [2] => 2,90
    )

[ValueMedio] => Array
    (
        [0] => 2,20
        [1] => 1,68
        [2] => 2,80
    )

  )

我如何以正确的方式在数据库中插入所有这些内容?

我不确定设计表格和存储信息的最佳方法。我用这个来制作一个PRICE TABLE,其中包含开始日期,最终日期,并列出所有价格的产品。

我也在想什么是最好的方法。我想到了两种可能性

Date_Start | Date_End   |Product_Id | ValueMin | ValueMax | ValueMedio | Conversion
02-02-2013   02-03-2013  1            1.00       2.00       3.00         4.00
02-02-2013   02-03-2013  2            1.00       2.00       3.00         4.20
02-02-2013   02-03-2013  3            1.00       2.00       2.00         4.40   

OR(使用内爆并将所有值放在同一行上)

Date_Start  | Date_End   |Product_Id | ValueMin | ValueMax | ValueMedio | Conversion
02-02-2013    02-03-2013  1,2,3        1,1,1      2, 2,2     3,3,2        4, 4.3, 4.4

非常感谢!

2 个答案:

答案 0 :(得分:1)

选择首先提到的选项。如果你这样做,选择行会变得容易得多。

要插入记录,请使用简单的预准备语句(PHP Manual)并使用for-Loop。

答案 1 :(得分:0)

我建议对第一个选项进行一些调整。如果您创建一个单独的表(“价格”之类的东西),如下所示:

id|DateStart|DateEnd|
1|02-02-2013|02-02-2013|

然后,在您建议的表格中,您将替换PriceId的日期范围(此表的外键)。这样,您就可以更轻松地保持日期范围内更改的一致性。