我有一个包含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列。我希望其他列更新另一个表。我怎么能这样做?
答案 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."')";
}