,这就是我想要的:
foreach($_POST['something'] as $something){
foreach($_POST['example'] as $example){
$query = mysql_query("INSERT INTO table (row, row2) VALUES ('{$something}','{$example}')");
}
}$_POST['something']和$_POST['example']是输入的数组。
name="something[]"和name="example[]".
问题:
这样,我将两次将数据发送到数据库。因此,我需要一个解决方案,我可以循环槽2阵列,而不是看到数据两次。
编辑
发布于 2010-08-03 16:44:13
你的意思是:
foreach($_POST['something'] as $key => $something) {
$example = $_POST['example'][$key];
$query = mysql_query("INSERT INTO table (row, row2) VALUES ('{$something}','{$example}')");
} 发布于 2013-03-28 09:13:13
多个数组的解决方案
试着-
1)
<?php
$ZZ = array('a', 'b', 'c', 'd');
$KK = array('1', '2', '3', '4');
foreach($ZZ as $index => $value) {
echo $ZZ[$index].$KK[$index];
echo "<br/>";
}
?>或2)
<?php
$ZZ = array('a', 'b', 'c', 'd');
$KK = array('1', '2', '3', '4');
for ($index = 0 ; $index < count($ZZ); $index ++) {
echo $ZZ[$index] . $KK[$index];
echo "<br/>";
}
?>发布于 2010-08-03 16:36:44
您的解决方案似乎不会将数据发送两次。除非由于发出查询而出现具有相同值的记录。这可能意味着您应该在构建查询之前处理数据。
一种解决办法可以是:
$sql = array();
foreach($_POST['something'] as $something){
foreach($_POST['example'] as $example){
$sql[] = "INSERT INTO table (row, row2) VALUES ('{$something}','{$example}')";
}
}
foreach($sql as $query){
mysql_query($query);
}https://stackoverflow.com/questions/3398618
复制相似问题