2014-02-20 45 views
0

我有一個表,itemColors:多個值加入到同一個記錄 - MySQL的PHP​​

itemID INT(11) 
color1 VARCHAR(7) 
color2 VARCHAR(7) 
color3 VARCHAR(7) 
color4 VARCHAR(7) 
color5 VARCHAR(7) 

我有數據情況下,我需要多達5個值添加到項目中。但是這個項目直到我創建它纔會存在。我說,因爲它就是這樣。

例如

item1 
value1=1 
value2=2 

item2 
value1=10 
value2=20 
value3=30 
value4=40 
value5=50 

的數據來自一個數組所以我假定

foreach ($array as $value){ 
    // add $value here 
} 

我不知道該如何處理不同的數組長度輸入到同一項目。想法歡迎。什麼是最有效的方式來做到這一點?

+0

不知道如果我得到它的權利,你想插入行與您的項目,但你不知道有多少列(顏色值),你將需要插入? – MSadura

回答

0

讓我們假設你的數組是

$array_name = array('blue' , 'red' , 'green', 'black' , 'white'); 

    foreach($yourArr as $name => $color) { 
     //your insert query here 
     $color = mysql_real_escape_string($color); 
     $sql = "INSERT INTO TABLE_NAME VALUES ('$array_name')"; 
     $query = mysql_query($sql); 
    } 
+0

它的一個行,並與ITEMID所有值 - 不是一個行中的每個 –

+0

mysqli_field_count()將是有益的在這種情況下 –

+0

更多了,我認爲它是一個動態創建表的,如果我與ITEMID所有值正確 –

1

如果我得到你想要什麼正確的,首先,你可以通過以防止超過5個值使用count(array())檢查數組的大小。但對於不同的值,只需使用一個for循環,而不是foreach

for ($i = 1; $i < count($YOUR_ARRAY); $i++) { 
     $value.$i=$YOUR_ARRAY[$i]; // value1=your array value - value2=array value and so on... 
    } 

然後,你可以做任何的操作與你的價值觀。

+0

它的一排 - 不每行一個 –

+0

您可以在循環中創建自己的數組。 –

+0

即使你自己的字符串 –

相關問題