加班记录系统笔记

使用MySql创建一个表:

CREATE TABLE overtime (
  id INT AUTO_INCREMENT PRIMARY KEY,
  name VARCHAR(50) NOT NULL,
  date DATE NOT NULL,
  hours DECIMAL(4,2) NOT NULL
);
  1. id 列:一个自增的整数,作为主键和唯一标识符。
  2. name 列:一个不允许为空的字符串,用于存储加班人员的姓名。
  3. date 列:一个不允许为空的日期,用于存储加班的日期。
  4. hours 列:一个不允许为空的小数,用于存储加班的时长。

向表中添加数据

INSERT INTO overtime (name, date, hours) VALUES
('张三', '2023-02-20', 3.5),

连接数据库:


// 连接数据库
$db_host = "localhost";  // 数据库主机名
$db_user = "Datebase name";  // 数据库用户名
$db_pass = "password";  // 数据库密码
$db_name = "Datebase name";  // 数据库名

$conn = mysqli_connect($db_host, $db_user, $db_pass, $db_name);

// 检查连接是否成功
if (!$conn) {
  die("数据库连接失败:" . mysqli_connect_error());
}

// 处理表单提交
if ($_SERVER["REQUEST_METHOD"] == "POST") {
  // 获取表单数据
  $name = $_POST["name"];
  $date = $_POST["date"];
  $hours = $_POST["hours"];

  // 插入数据到数据库中
  $sql = "INSERT INTO overtime_records (name, date, hours) VALUES ('$name', '$date', '$hours')";

  if (mysqli_query($conn, $sql)) {
    echo "加班记录已成功添加!";
  } else {
    echo "添加加班记录时出现错误:" . mysqli_error($conn);
  }
}

在这基础上我添加可提交日期自动生成星期几:

// 检查表单是否已提交
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
  // 从表单中获取日期
  $date = $_POST['date'];

  // 将日期转换为时间戳
  $timestamp = strtotime($date);

  // 使用 date() 函数将时间戳转换为星期几的字符串
  $weekday = date('l', $timestamp);

  // 显示结果
  echo "您选择的日期是:{$date},星期{$weekday}";
}

前端部分:

<h1 class="work">加班记录提交系统</h1><br>
  <form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>">
    <label for="name">姓名:</label>
    <input type="text" name="name" id="name"><br>

<label for="date" class="date-label">日期:</label>
<input type="date" name="date" id="date" required class="date-input"><br>

    <label for="hours">加班时长:</label>
<input type="number" name="hours" id="hours"><br>
    <input type="submit" value="提交">
  </form>

这里可以根据自己的想法去进行一个样式的更改。

提交后的数据去哪儿了呢?

当然我会创建一个查询表单:

方法和上面的方法类似:

首先我们需要链接数据库,这里我就不做过多的说明:

// 查询数据
    if (isset($_POST['name'])) {
      $name = $_POST['name'];
      $sql = "SELECT * FROM overtime_records WHERE name LIKE '%$name%'";
    } else {
      $sql = "SELECT * FROM overtime_records";
    }
    $result = $conn->query($sql);

    // 输出表格
    echo "<table>
          <tr>
            <th>姓名</th>
            <th>日期</th>
            <th>加班时长</th>
          </tr>";
    while($row = $result->fetch_assoc()) {
      echo "<tr>
              <td>".$row["name"]."</td>
              <td>".$row["date"]."</td>
              <td>".$row["hours"]."</td>
            </tr>";
    }
    echo "</table>";

    // 关闭数据库连接
    $conn->close();

由此可见,查询之后会自动生成一个表格并输出。

这里你可以进行样式的更改。

重设ID 语句:

TRUNCATE TABLE my_table;

©️李联华的博客网 当前IP地址:44.200.27.215,欢迎您的访问!

温馨提示 : 非特殊注明,否则均为李联华的博客原创文章,本站文章未经授权禁止任何形式转载
文章链接:https://www.ooize.com/overtime-recording-system-notes.html

订阅文章

在下面输入您的电子邮件地址以订阅我们的文章

留下评论

Loading...