好的,现在我在复选框上有2个输入字段,另外一个是输入文本 像这样
<input type="text" name="student[]">
<input type="checkbox" name="marks[]">
现在我想在数据库中插入所有数据。如何同时插入。
这是php想要但只有一个数组的例子
foreach($student as $value){
$sql = "INSERT INTO `academic` ('student', `mark`) VALUES ('$value','mark')";
if(mysqli_query($conn, $sql)){
echo "Insert mark for student ".$value." complete<br>";
} else {
echo "Error: " . mysqli_error($conn);
}
}
如何使它可以同时插入2个不同的数组?
答案 0 :(得分:1)
在这种情况下,您可以将第二个foreach用于第二个数组,如
foreach($student as $value){
foreach($marks as $singlemarks){
$sql = "INSERT INTO `academic` ('student', `mark`) VALUES ('$value','$singlemarks')";
if(mysqli_query($conn, $sql)){
echo "Insert mark for student ".$value." complete<br>";
} else {
echo "Error: " . mysqli_error($conn);
}
}
}
你也可以在json中为数据库中的商店多数组转换数组 比如json_encode($ array)和你想要使用时解码一样
答案 1 :(得分:0)
使用JSON存储数据。只需将数组编码为json并在需要时进行解码 例如json_encode($ array);
答案 2 :(得分:0)
您需要计算student
和marks
的值并检查student values>marks values
或student values<marks values
。并在for循环中使用它。之后检查值是否存在在学生和标记array.something这样。
if (isset($_POST['student'])) {
$student=$_POST['student'];
$marks=$_POST['marks'];
$countStudent=count($student);
$countMarks=count($marks);
if ($countMarks>$countStudent) {
$resultCount=$countMarks;
}
else{
$resultCount=$countStudent;
}
for ($i = 0; $i <=$resultCount-1 ; $i++) {
if (isset($student[$i])) {
$value= $student[$i];
}
else{
$value= '';
}
if (isset($marks[$i])) {
$mark = $marks[$i];
}
else{
$mark = '';
}
$sql = "INSERT INTO `academic` ('student', `mark`) VALUES ('$value','$mark')";
}
}
答案 3 :(得分:-1)
将两个数组合并为一个数组。这样的事情:$res = array_merge($my_array1, $my_array2);
然后将数据插入数据库,如下所示:
foreach (array_expression as $key => $value)
{
//Here Goes Here Your Logic....
}