2017-05-01 5 views
-1
<?PHP 
     session_start(); 
     $_SESSION["teacher"] = "tech01"; 
     echo "Favorite teacher is " . $_SESSION["teacher"] . ".<br>"; 
     include 'db.php'; 
     ?> 
     <html> 
     <head></head> 
      <body> 
      <?php 
      if(isset($_POST['submit'])) 
      { 
      $inst=$_POST['inst']; 
      $sub=$_POST['sub']; 
      $view_student="select s_name from students where s_inst='$inst' AND 
      s_sub='$sub' "; 
      $run=mysqli_query($dbcon,$view_student);  
      echo "<form name='form' action='atte.php' method='post'>"; 
      echo '<input type="date" name="att">'; // currently for future use 
      echo "</br>"; 
      while($row=mysqli_fetch_array($run)){ 
      $name=$row['s_name']; 
      echo '<input type="checkbox" name="present" >'; 
      echo "<label>" .$name. "</label>"; 
      echo "<input type='hidden' name='stun' value='".$name."'/>"; 
      echo "<input type='hidden' name='inst' value='".$inst."'/>"; 
      echo "<input type='hidden' name='sub' value='".$sub."'/>"; 
      echo '<input type="submit" value="Submit_attendance" 
      name="insert">'; 
      echo "<br>"; 
      } 
      echo "</form>";} 
?> 

私は学生の存在をマークするたびに、それはすべての学生の存在をマークし、どのように保存できますか? これはオンライン出席管理システムのコードです。あなたが変更する必要が私はオンライン出席システムを作成しています

+0

私はあなたがそれで問題に遭遇した場合に、自分のコードを更新しました。 – kojow7

+1

ありがとうございました – Utkarsh

答えて

0

3つのこと:

  1. あなたが唯一のデータベースから名前を選択しています。 主キー(つまりstudent_id)を選択する
  2. student_idを取得したら、フォーム要素の名前を整列して配列のような構造を模倣します。
  3. PHPコードでは、キー/値foreachループを使用して配列の各IDと値をループすることができます。これに

    ::このことから、既存のコードを変更する必要があります上記のステップ2については

echo "<input type='checkbox' name='present[{student_id}]' >"; 

echo文を許可するように単一引用符の代わりに二重引用符を使用していることに注意してください変数student_idが解釈される。

は、上記のステップ3の場合:

foreach($_POST['present'] as $student_id => $present) { 
    if ($present) { 
     echo "The student with id of $student_id is present"; 
    } 
} 
関連する問題