2013-02-07 6 views
1

J'essaie d'enregistrer des informations sur une base de données. Mon article ressemble à ceci:Insérer des valeurs de tableau, plusieurs lignes

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 
    ) 

) 

COMMENT puis-je insérer tout cela dans la bonne base de données?

Je ne suis pas sûr de la meilleure façon de concevoir les tables et de stocker les informations. J'utilise ceci pour faire une TABLE DE PRIX avec la date de début, la date finale et la liste de tous les produits avec des prix.

Aussi, je pense quelle est la meilleure méthode. Il y a 2 possibilités que je pense à

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 

OU (en utilisant imploser et de mettre toutes les valeurs sur la même ligne)

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 

Merci beaucoup!

Répondre

1

Choisissez l'option mentionnée en premier. La sélection de lignes deviendra beaucoup plus facile si vous le faites de cette façon.

Pour insérer les enregistrements, utilisez une instruction préparée simple (PHP Manual) et utilisez une boucle for.

0

Je suggérerais un petit tweak sur la première option. Si vous créez une table séparée (Quelque chose le long des lignes de « prix ») comme ceci:

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

Et puis, dans le tableau que vous suggérez, vous souhaitez remplacer la plage de dates pour la PriceId (clé étrangère à cette table). De cette façon, il vous sera plus facile de maintenir la cohérence sur les changements de dates.

Questions connexes