Alvaro Louzada
Alvaro Louzada

Reputation: 433

Insert Array values, multiple rows

I'm trying to record some information on a database. My post looks like this:

  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
    )

  )

HOW can I insert all this on database the right way?

I'm not sure about the best way to design the tables and store the information. I'm using this to make a PRICE TABLE with starting date, final date and list all products with prices.

Also I'm thinking what is the best method. There are 2 possibilities I think about

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 (using implode and putting all values on the same row)

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

Thanks a lot!

Upvotes: 1

Views: 120

Answers (2)

Muc
Muc

Reputation: 1526

I'd suggest a little tweak over the first option. If you create a separate table (Something along the lines of "Prices") like this:

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

And then, in the table you suggested, you'd replace the date range for the PriceId (Foreign Key to this table). That way it'll be easier for you to maintain the consistency over changes on date ranges.

Upvotes: 0

DYN
DYN

Reputation: 36

Choose the option mentioned first. Selecting Rows will become much easier if you do it that way.

To insert the records, use a simple prepared Statement (PHP Manual) and use a for-Loop.

Upvotes: 1

Related Questions