php - Mysql查询按月存储员工考勤

标签 php database mysqli mysql

如何在mysql数据库中插入所有员工出勤情况(每月一次) 这是我的数据库表

att_employee_id | att_year | att_month | att_present_days | att_absent_days |   att_workingdays

Date.prototype.daysInThisMonthOfThisYear=function() {
  return new Date(this.getFullYear(),this.getMonth()+1,0).getDate();
}
var days_inmonth = new Date().daysInThisMonthOfThisYear();

$(document).ready(function() {
	$( ".absent_days" ).keyup(function() {
		 var days = $(this).val();
		 $(this).closest("tr").find(".present_days" ).val( days_inmonth - days );	
		})	
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<form name="emp_att" action="" method="post">
  <table>
    <thead>
      <tr>
        <th class="head0" style="width:5%">S.No</th>
        <th class="head1" style="width:15%">Employee ID</th>
        <th class="head0 no-sort" style="width:15%">No.of days present</th>
        <th class="head1 no-sort" style="width:15%">No.of days absent</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td>1</td>
        <td>ETO0001</td>
        <td><input type="text" class="present_days" name="present_days" value=""></td>
        <td><input type="number" name="absent_days" class="absent_days" min="0" max="<?php echo date('t'); ?>" onChange="absentdays()" style="width:100%"></td>
      </tr>
      <tr>
        <td>2</td>
        <td>ETO0002</td>
        <td><input type="text" class="present_days" name="present_days" value=""></td>
        <td><input type="number" name="absent_days" class="absent_days" min="0" max="<?php echo date('t'); ?>" onChange="absentdays()" style="width:100%"></td>
      </tr>
      <tr>
        <td>3</td>
        <td>ETO0003</td>
        <td><input type="text" class="present_days" name="present_days" value=""></td>
        <td><input type="number" name="absent_days" class="absent_days" min="0" max="<?php echo date('t'); ?>" onChange="absentdays()" style="width:100%"></td>
      </tr>
      <tr>
        <td>4</td>
        <td>ETO0004</td>
        <td><input type="text" class="present_days" name="present_days" value="" readonly></td>
        <td><input type="number" name="absent_days" class="absent_days" min="0" max="<?php echo date('t'); ?>" onChange="absentdays()" style="width:100%"></td>
      </tr>
    </tbody>
  </table>
  <input type="submit" name="submit" value="Submit">
</form>

这是我获取所有员工的查询

   <form name="emp_att" action="" method="post">
   <table>
   <thead>
   <tr>
    <th class="head0" style="width:5%">S.No</th>
    <th class="head1" style="width:15%">Employee ID</th>
    <th class="head0 no-sort" style="width:15%">No.of days present</th>
    <th class="head1 no-sort" style="width:15%">No.of days absent</th>
  </tr>
  </thead>
  <tbody>
    <?php
        $allemp= mysqli_query($con,"select * from t_emp e");
          $all_emp = mysqli_num_rows($allemp);

        if ($all_emp > 0)
        {
         $i=1;
            while($all_emp = mysqli_fetch_assoc($allemp))
          {
                 echo "<tr>";
                 echo "<td>".$i."<input type='hidden' name='serialno' value='".$i++."'></td>
                 <td> ".$all_emp["emp_id"]."</td>
                <td><input type='text' class='present_days' name='present_days' value=''></td>";
             echo "<td><input type='number' name='absent_days' class='absent_days' min='0' max= date('t') onChange='absentdays()' style='width:100%'></a></td>"; 
            echo "</tr>";
                 } 
          } 
        else 
        {
            echo "0 Results";
        }
        ?>
      </tbody>
      </table>
      <input type="submit" name="submit" value="Submit">
      </form>

在这里,我得到了上面表格中的所有 n 名员工。当输入所有员工“缺席天数”然后点击提交时,我只能将最后一条记录发送到数据库。 谁能帮我将所有员工的出勤情况发送到数据库 这是我的表单提交查询

<?php
if(isset($_POST['submit']))
{ 
 $serialno=$_post['serialno'];
 $employee_id=$_post['emp_id'];
 $att_year = date('Y'); 
 $att_month = date('m'); 
 for($i=1; $i<= $serialno;$i++)
 {
  $present_days=$_POST['present_days'];
  $absent_days=$_POST['absent_days'];
  }
  $query=mysqli_query($con,"INSERT INTO t_emp_attendance(att_employee_id,att_year,att_month,att_present_days,att_absent_days)values('$employee_id','$att_year','$att_month','$present_days','$absent_days')");
  }
 ?>

任何建议将不胜感激,我需要将所有员工的出勤存储到数据库

最佳答案

检查输入字段的名称是否已创建。它可能会被最新值覆盖。将其作为数组格式发送,如“absent_days[]”,它将解决您的问题

关于php - Mysql查询按月存储员工考勤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33492613/

相关文章:

php - 在 php 上显示 utf8_general_ci 数据(非英语)

javascript - Wordpress 插件样式和 javascript 未加载(管理部分)

SQL 服务器 : Computed Column defintions retrievable from Database?

database - 实现数据库——如何开始

php - Laravel - 使用复选框将数据发送到数据透视表

PHP mysqli 打印数组问题

php - 如何在 Laravel 中创建 REST API 第一个 Web 应用程序

php - 为mysql表选择一个索引

php - 真正的转义字符串和 mysqli 准备语句冲突

php - 如何知道与数据库的连接是否使用 SSL