我是php的新手,我正在试图弄清楚如何将下面的数组添加到名为“skus”的MYSQL表中。
每个子阵列都是sku。
子阵列中的每个值都是选项ID。 (即蓝色,绿色,黄色等)
所以,我希望我的桌子看起来像这样。
skuid optionid
sku id是表的主键,当我添加optionid值时会自动增加。
Array
(
[0] => Array
(
[2] => 27
[3] => 17
)
[1] => Array
(
[2] => 28
[3] => 17
)
[2] => Array
(
[2] => 27
[3] => 18
)
[3] => Array
(
[2] => 28
[3] => 18
)
)
答案 0 :(得分:-2)
所以你的数组是:
$skus=array(
[SKU] => Array(
'option' => 27,
'option2' => 17
)
);
创建mySQL表后,您可以使用以下内容对数组进行排序并输入到表中:
$connect = mysql_connect(HOST,USER,PASS) or die(mysql_error());
$delim = ":";
$length = count($skus);
foreach ($skus as $sku => $opt_array) {
$i = 0;
$opts = '';
foreach ($opt_array as $option_id) {
if ($i == count($opt_array) {
$opts .= $option_id;
} else {
$opts .= $option_id . ",";
}
$i++;
}
$query = "INSERT INTO `skus` (sku,opt_id,opt_id2) VALUES ('" . $sku . "','" . $opts . "')";
mysql_query ($query, $connect) or die (mysql_error());
}
正如您所说,您的表中只有两列,您的选项ID必须位于表中的同一字段中。这就是我将$ delim声明为选项ID之间的分隔符的原因。
您对数组中第一个循环的实际查询将是:
INSERT INTO `skus` (sku,opt_id,opt_id2) VALUES ('SKU','27', '17')
等等。
希望这有帮助。