簡體   English   中英

如何防止覆蓋具有選定選項值的PHP變量在循環中

[英]How to prevent overwriting of php variable having value of selected option in loop

實際上,我想將從一個數據庫(學生信息)獲取的值連同他們的出勤狀態一起存儲到另一數據庫(出勤)中,我想在while循環的每次迭代中存儲數據。 從學生信息數據庫檢索到的數據已成功存儲到出勤數據庫中,但在每次迭代中均未存儲特定的所選選項,它僅存儲所選的最新選項的值並覆蓋所選選項的先前狀態。

<html>
<head>

</head>
<body>

<?php  
error_reporting(E_ALL ^ E_DEPRECATED);
include("config.php");?>
<div class="form-container">
<form method="post" action="" role="form">
 <!-- <div class="container"> -->
 <div class="col-lg-3">
  <div class="form-group">
<?php
  $qs=mysql_query("select * from student_table");
  ?>
  <table border=1>  
  <?php 

  while($stid=mysql_fetch_row($qs))
  {         

  ?>

  <tr>
   <td ><?php echo $stid[0]?></td>
   <td><?php echo $stid[1]?></td>
   <td>
   <select name="present" >
   <option value=""> ---Select Attendence--- </option>
   <option value="P"> Present </option>
   <option value="A"> Absent </option>

   </select></td>

 </tr>

 <?php
      $stud= $stid[0];    //roll no of student from student database
      $subj= $stid[1];    //name of student from student database
      $date = date('Y-m-d H:i:s');    //date
 if(isset($_POST['present'])){     //selected option value, but it gets overwritten and at the end displays latest value except particaular value of every iteration
 $department=$_POST['present'];
      $query=mysql_query("Insert into tbl_attendence  (StudentRollNumber,SubjectId,Attendence,Date)VALUES('$stud','$subj','$department','$date')");

if(!$query)
{
echo mysql_error();
}
}

   }


  ?>
  </table>
  </div>
  </div>   
  <button type="submit" name="save" value="Save" class="btn btn-success btn-sm">Save</button>
  </form>

  </body>
  </html>

因此,最終得到的是多個具有相同name <Select>元素。 當您執行此操作時,實際上只有最新的發布。

因此,您需要確保每個元素都有唯一的名稱。 您可以通過使用學生ID作為鍵,使它們成為數組的一部分來實現此目的:

<select name="present['<?= $stid[0] ?>']" >

然后,當您插入時,請執行以下操作:

foreach($_POST['present'] as $stud => $present){
    $date = // whatever
    $subj = // whatever    
    $sql="INSERT INTO tbl_attendence (StudentRollNumber,SubjectId,Attendence,Date) VALUES('$stud','$subj','$present','$date')");
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM