基于kimi ai快速生成大作业(增删改查),无需数据库

news/2025/1/8 20:18:21/文章来源:https://www.cnblogs.com/xiaqiuchu/p/18660457

参考

  • https://kimi.moonshot.cn
  • https://blog.csdn.net/allway2/article/details/124205775

环境

软件/系统 版本 说明
windows windows 10 专业版 22H2 64 位操作系统, 基于 x64 的处理器
vs code 1.96.2
php 7.4.30 下载
firefox 133.0.3

正文

关键词:基于php语言,生成一个人员管理系统的增删改查,包含查询界面、删除行、编辑内容、新增内容; 支持php内置web客户端启动,数据存储使用文件存储;人员管理包含字段为:id、姓名、年龄、性别 。

步骤

步骤写在前面,防止看不到

  1. 下载 php,将 php 可执行文件加入系统变量。
  2. 在 https://kimi.moonshot.cn 输入关键词,自动生成相关代码。(代码已放到文章尾部的模板,任选一个模板即可)
  3. 创建 数据存储文件格式 ,将ai生成的内容存入。
  4. 创建 index.php ,将代码写入(与 数据存储文件格式 文件在同一文件夹)。
  5. 进入项目所在文件夹,执行 php -S localhost:8000
  6. 浏览器访问http://localhost:8000即可。

模板

模板1

  1. data.json
    {"1":{"id":2,"name":"李四","age":30,"gender":"女"},"2":{"id":3,"name":"张三","age":"15","gender":"男"}}
    
  2. index.php
    <?php
    // 读取人员数据文件
    function readData() {$data = file_get_contents('data.json');return json_decode($data, true);
    }// 写入人员数据文件
    function writeData($data) {$dataJson = json_encode($data, JSON_UNESCAPED_UNICODE);file_put_contents('data.json', $dataJson);
    }// 获取下一个可用的id
    function getNextId($data) {$ids = array_column($data, 'id');return max($ids) + 1;
    }// 处理新增人员
    if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['action']) && $_POST['action'] === 'add') {$data = readData();$newPerson = ['id' => getNextId($data),'name' => $_POST['name'],'age' => $_POST['age'],'gender' => $_POST['gender']];$data[] = $newPerson;writeData($data);header('Location: index.php');exit();
    }// 处理删除人员
    if ($_SERVER['REQUEST_METHOD'] === 'GET' && isset($_GET['action']) && $_GET['action'] === 'delete' && isset($_GET['id'])) {$data = readData();$data = array_filter($data, function($person) {return $person['id'] !== (int)$_GET['id'];});writeData($data);header('Location: index.php');exit();
    }// 处理编辑人员
    if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['action']) && $_POST['action'] === 'edit') {$data = readData();foreach ($data as &$person) {if ($person['id'] === (int)$_POST['id']) {$person['name'] = $_POST['name'];$person['age'] = $_POST['age'];$person['gender'] = $_POST['gender'];break;}}writeData($data);header('Location: index.php');exit();
    }// 获取人员数据
    $data = readData();
    ?><!DOCTYPE html>
    <html lang="zh-CN">
    <head><meta charset="UTF-8"><title>人员管理系统</title><style>table, th, td {border: 1px solid black;border-collapse: collapse;padding: 8px;text-align: center;}th {background-color: #f2f2f2;}.form-container {margin-bottom: 20px;}</style>
    </head>
    <body><h1>人员管理系统</h1><!-- 新增人员表单 --><div class="form-container"><h2>新增人员</h2><form method="post" action="index.php"><input type="hidden" name="action" value="add"><label for="name">姓名:</label><input type="text" id="name" name="name" required><label for="age">年龄:</label><input type="number" id="age" name="age" required><label for="gender">性别:</label><input type="text" id="gender" name="gender" required><button type="submit">新增</button></form></div><!-- 查询界面 --><h2>人员列表</h2><table><thead><tr><th>ID</th><th>姓名</th><th>年龄</th><th>性别</th><th>操作</th></tr></thead><tbody><?php foreach ($data as $person): ?><tr><td><?php echo $person['id']; ?></td><td><?php echo $person['name']; ?></td><td><?php echo $person['age']; ?></td><td><?php echo $person['gender']; ?></td><td><!-- 编辑按钮 --><button onclick="editPerson(<?php echo $person['id']; ?>, '<?php echo $person['name']; ?>', <?php echo $person['age']; ?>, '<?php echo $person['gender']; ?>')">编辑</button><!-- 删除按钮 --><a href="index.php?action=delete&id=<?php echo $person['id']; ?>">删除</a></td></tr><?php endforeach; ?></tbody></table><!-- 编辑人员表单(隐藏) --><div id="edit-form" style="display: none;"><h2>编辑人员</h2><form method="post" action="index.php"><input type="hidden" id="edit-id" name="id"><input type="hidden" name="action" value="edit"><label for="edit-name">姓名:</label><input type="text" id="edit-name" name="name" required><label for="edit-age">年龄:</label><input type="number" id="edit-age" name="age" required><label for="edit-gender">性别:</label><input type="text" id="edit-gender" name="gender" required><button type="submit">保存</button><button type="button" onclick="cancelEdit()">取消</button></form></div><script>// 编辑人员函数function editPerson(id, name, age, gender) {document.getElementById('edit-id').value = id;document.getElementById('edit-name').value = name;document.getElementById('edit-age').value = age;document.getElementById('edit-gender').value = gender;document.getElementById('edit-form').style.display = 'block';}// 取消编辑函数function cancelEdit() {document.getElementById('edit-form').style.display = 'none';}</script>
    </body>
    </html>
    

模板2

  1. data.txt
    id,姓名,年龄,性别
    1,张三,22,男
    
  2. index.php
    <?php
    // 读取数据文件
    function readData() {$data = [];$file = fopen('data.txt', 'r');if ($file) {fgetcsv($file); // 跳过标题行while (($row = fgetcsv($file)) !== FALSE) {$data[] = $row;}fclose($file);}return $data;
    }// 写入数据文件
    function writeData($data) {$file = fopen('data.txt', 'w');if ($file) {fputcsv($file, ['id', '姓名', '年龄', '性别']); // 写入标题行foreach ($data as $row) {fputcsv($file, $row);}fclose($file);}
    }// 删除记录
    if (isset($_GET['delete'])) {$id = $_GET['delete'];$data = readData();$newData = array_filter($data, function($row) use ($id) {return $row[0] != $id;});writeData($newData);header('Location: index.php');exit;
    }// 编辑记录
    if (isset($_GET['edit'])) {$id = $_GET['edit'];$data = readData();foreach ($data as $row) {if ($row[0] == $id) {$editRow = $row;break;}}
    }// 更新记录
    if (isset($_POST['update'])) {$id = $_POST['id'];$name = $_POST['name'];$age = $_POST['age'];$gender = $_POST['gender'];$data = readData();$newData = [];foreach ($data as $row) {if ($row[0] == $id) {$newData[] = [$id, $name, $age, $gender];} else {$newData[] = $row;}}writeData($newData);header('Location: index.php');exit;
    }// 添加记录
    if (isset($_POST['add'])) {$name = $_POST['name'];$age = $_POST['age'];$gender = $_POST['gender'];$data = readData();$id = count($data) + 1;$data[] = [$id, $name, $age, $gender];writeData($data);header('Location: index.php');exit;
    }$data = readData();
    ?><!DOCTYPE html>
    <html lang="zh-CN">
    <head><meta charset="UTF-8"><title>人员管理系统</title>
    </head>
    <body><h1>人员管理系统</h1><h2>查询界面</h2><table border="1"><tr><th>ID</th><th>姓名</th><th>年龄</th><th>性别</th><th>操作</th></tr><?php foreach ($data as $row): ?><tr><td><?php echo $row[0]; ?></td><td><?php echo $row[1]; ?></td><td><?php echo $row[2]; ?></td><td><?php echo $row[3]; ?></td><td><a href="index.php?edit=<?php echo $row[0]; ?>">编辑</a> |<a href="index.php?delete=<?php echo $row[0]; ?>">删除</a></td></tr><?php endforeach; ?></table><h2>新增内容</h2><form method="post"><label for="name">姓名:</label><input type="text" id="name" name="name" required><br><br><label for="age">年龄:</label><input type="number" id="age" name="age" required><br><br><label for="gender">性别:</label><input type="text" id="gender" name="gender" required><br><br><input type="submit" name="add" value="添加"></form><?php if (isset($editRow)): ?><h2>编辑内容</h2><form method="post"><input type="hidden" name="id" value="<?php echo $editRow[0]; ?>"><label for="name">姓名:</label><input type="text" id="name" name="name" value="<?php echo $editRow[1]; ?>" required><br><br><label for="age">年龄:</label><input type="number" id="age" name="age" value="<?php echo $editRow[2]; ?>" required><br><br><label for="gender">性别:</label><input type="text" id="gender" name="gender" value="<?php echo $editRow[3]; ?>" required><br><br><input type="submit" name="update" value="更新"></form><?php endif; ?>
    </body>
    </html>
    

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/866053.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2025.1.8 鲜花

Nim 的变种Nim 的变种グランドエスケープ 空飛ぶ羽根と引き換えに 繋ぎ合う手を選んだ僕ら 没有选择飞翔的翅膀 而是选择十指相扣的我们 それでも空に魅せられて 夢を重ねるのは罪か 却仍然向往着天空 反复做着同样的梦 这有错吗 夏は秋の背中を見て その顔を思い浮かべる 夏…

CTF 之 Crypto (Cryptography) 学习笔记

CTF 之 Crypto (Cryptography) Chapter 0. 前置知识 群 (Group) 给定一个集合 \(G\neq \emptyset\) 以及二元代数运算 \(\circ\),若满足:封闭性 (Closure):\(\forall u,v\in G\),\(u\circ v\in G\); 结合律 (Associativity):\(\forall u,v,w\in G\),\((u\circ v)\circ w…

(2025自测有效!)全网最好的python配置教程【非常非常适合小白】

前几天我的电脑刚刚重装,把python重新配置了一下。 1.Python环境部署Python3 可应用于多平台包括 Windows、Linux 和 Mac OS X。 Python官网:https://www.python.org/ 进入官网在导航栏选择Dowmloads,选择所使用的系统(以Windows为例) 进入Windows下载页之后选择需要下载的…

写一个支持折叠、有缩进、代码高亮、离线的,方便部署的、易用的、优雅的json格式化查看工具(附html完整代码)

缘由 网上的在线json格式化有很多,但我是个有追求的人。在线的很难同时支持折叠、有缩进线、代码高亮、离线的,方便部署的、易用的、不请求后端(为了安全)的json格式化工具。 去Github上找项目,华而不实的东西占半个屏幕,格式化json要点好几下,一个json格式化工具npm安装…

AGC041F Histogram Rooks

我不知道啊,我只是觉得容斥很好玩。一个朴素的想法是容斥:考虑钦定 \(S\) 集合的位置没有被车覆盖,则答案是 \((-1)^{|S|}2^{c}\),其中 \(c\) 是可以放车的位置,可以直接 dp 做到 \(\mathrm{O}(2^n \text{poly}(n))\),但是难以优化。 延续容斥的想法,注意到钦定一个位置…

rust学习十六.1、并发-乱弹和一个简单并发例子

如书本作者所言,并发编程在绝大部分语言中,都是相对复杂和困难的。 所以,涉及的内容会相对多一些,所涵盖的内容绝对不是几篇文章所可以容纳的。 权当一个乱弹琴! 和此系列的其它文章一样,本文的内容绝大部分来自于相关书籍,本人做了一些摘裁的工作,取我所需!一、无畏并…

解决jenkins git 拉取代码超时问题

jenkins默认的是时间是10分钟,在git fetch时候超过10分钟了就报错失败了,可在项目源码管理 新增 advance clone behaviours

Java Bluetooth 蓝牙通讯 BlueCove 扫描附近的蓝牙设备

目录BlueCove项目概述BlueCove API架构API的设计原则和实现方式关键类和方法的功能描述测试代码获取本机(PC)蓝牙扫描蓝牙 BlueCove项目概述 BlueCove是一个开源的蓝牙协议栈实现,旨在为Java开发者提供一个全面的、易于使用的API,从而在应用程序中实现蓝牙功能。该项目支持多…

英伟达世界基础模型 Cosmos,教 AI 理解物理世界;阿里通义与雷鸟合作推出 AI 眼镜丨 RTE 开发者日报

开发者朋友们大家好:这里是 「RTE 开发者日报」 ,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE(Real-Time Engagement) 领域内「有话题的新闻」、「有态度的 观点 」、「有意思的 数据 」、「有思考的 文章 」、「有看点的 会议 」,但内容仅代表编辑的…

.NET 窗口置于最顶层

本文介绍如何将窗口置于最顶层,以及解决在顶层显示时对锁屏登录界面的影响。用于实现类似Launcher、系统工具等应用需要窗口层级比Windows开始菜单以及置顶任务栏还要高的场景 一般情况下的窗口置顶,可以设置WPF窗口属性Topmost=true 也可以使用WIN32-SetWindowPos函数SetWin…

汽修行业的智能化转型:AI赋能员工培训SOP策略

随着智能化技术的飞速发展,汽修行业也迎来了前所未有的变革机遇。在这一背景下,如何构建高效、标准化的员工培训SOP(Standard Operating Procedure)策略,成为汽修企业提升竞争力、实现智能化转型的关键。本文将探讨智能AI在汽修行业员工培训SOP策略构建中的应用,特别是提…

智慧医疗新纪元:帮助中心引领的智能化转型之路

在科技日新月异的今天,智慧医疗已经成为医疗领域发展的重要趋势。智慧医疗不仅意味着医疗设备的智能化,更代表着整个医疗服务流程的数字化转型。在这一变革过程中,如何有效利用帮助中心驱动医疗机构的转型与升级,成为了一个值得深入探讨的课题。本文将探讨智慧医疗的智能跃…