<input type="hidden" name="coreid[]" value="<?php echo $coreid; ?>">
<input type="hidden" name="student_no" value="<?php echo $student_no; ?>">
<div class="col col-lg-2 col-md-2 col-xs-2">
<div class="form-group">
<select name="corevalues[]" class="form-control">
<option value="">Select</option>
<?php
$result11 = mysqli_query($con, "SELECT * FROM core_values");
while ($row11 = mysqli_fetch_array($result11)){
$idcore = $row11['id'];
$levelid = $row11['marking'];
$level_name = $row11['non_marking'];
if ($first == $level_name){
echo '<option value="'.$level_name.'" selected="selected">'.$level_name.'</option>';
} else{
echo '<option value="'.$level_name.'">'.$level_name.'</option>';
}
}
?>
</select>
</div>
</div>
PHP
$coreid = $_POST['coreid'];
$grade = $_POST['corevalues'];
$student_no = $_POST['student_no'];
$quarter = $_POST['quarter'];
$marking = $_POST['marking'];
$quarter2 = $_POST['quarter2'];
$xx = 0;
foreach ($coreid as $sid) {
foreach ($grade as $sid2) {
$checkrecords = mysqli_query($con, "SELECT * FROM teacher_cv WHERE coreid='".$sid."' AND student_no='".$student_no."'");
if (mysqli_num_rows($checkrecords) > 0){
$sql = "UPDATE teacher_cv
SET $quarter='".$sid2."'
WHERE coreid='".$sid."' AND
student_no='".$student_no."'";
if (!mysqli_query($con,$sql))
{
die('Error: 1 ' . mysqli_error($con));
}
$xx++;
} else{
$sql = "INSERT INTO teacher_cv
( coreid,
$quarter,
student_no)
VALUES ( '".$sid."',
'".$sid2."',
'".$student_no."')";
if (!mysqli_query($con,$sql))
{
die('Error: 1 ' . mysqli_error($con));
}
$xx++;
}
}
}
林更新我的表teacher_cv與HTML選擇選項多個數據庫。展示教師學生核心價值的標準。
但它似乎更新和插入查詢總是得到最後一部分,當談到first_q我的表中的一列。以下是迄今爲止所做的樣本。
似乎核心ID正在工作,但在HTML選擇中選擇的標準總是獲取數組的最後部分。我如何插入/更新所有數組而不是數組的最後一部分?
UPDATE
我試圖在打印在foreach之前,看看它真的傳遞數組或者不是,這裏是結果。
Array ([0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5)
Array ([0] => Sometimes Observed [1] => Rarely Observed [2] => Rarely Observed [3] => Not Observed [4] => Sometimes Observed)
感謝Kunal,現在我知道陣列真的過去了。爲什麼只有最後一個數組是數據庫中的輸入?有什麼不對嗎mo PHP代碼?
在foreach開始之前打印$ coreid和$ grade ...... !!它是否返回數組或單個值? – Kunal
@Kort for $ grade正在返回單個值,我認爲。 –
@Kunal我試過你的建議,在foreach和它的返回之前打印ArrayArray –