将特定列从php数组插入到mysql表中

时间:2016-02-17 07:51:58

标签: php jquery sql

我有一个包含42条记录的数组,每条记录有jquery post返回的6个字段。 我正在使用以下方法来拆分和组织数据,以便可以使用SQL插入语句插入它。

$values = array();
foreach ($data as $rowValues) {
    foreach ($rowValues as $key => $rowValue) {
            }
 $values[] = "('" . implode("', '", $rowValues) . "','".$yr."','".$qtr."')";
   }

$query = "INSERT INTO table1 (field1, field2, field3, filed4)  VALUES " . implode (', ', $values);

这里的问题是table1只有4个字段,我在数组中只需要4列,但数组包含7列。我希望其他列更新另一个表。我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

解决方案1:

您可以使用array_slice提取数组的前2个元素:

$values = array();
foreach ($data as $rowValues) {
    $values[] = "('" . implode("', '", array_slice($rowValues, 0, 2)) . "','".$yr."','".$qtr."')";
}

$query = "INSERT INTO table1 (field1, field2, field3, filed4)  VALUES " . implode (', ', $values);

在第二个查询中,您可以致电

foreach ($data as $rowValues) {
    $values[] = "('" . implode("', '", array_slice($rowValues, 2)) ."')";
}

获取数组的其余元素。

解决方案2:

您可以简单地使用数组的索引:

$values = array();
foreach ($data as $rowValues) {
    $values[] = "('".$rowValues[0]."','".$rowValues[2]."','".$rowValues[5]."','".$rowValues[6]."','".$yr."','".$qtr."')";
}

$query = "INSERT INTO table1 (field1, field2, field3, filed4)  VALUES " . implode (', ', $values);

在你的第二个问题中:

$values = array();
foreach ($data as $rowValues) {
    $values[] = "('".$rowValues[0]."','".$rowValues[2]."','".$rowValues[3]."','".$rowValues[4]."','".$rowValues[5]."','".$rowValues[6]."','".$yr."','".$qtr."')";
}