PHP 结合MYSQL简单的实现了Todo List 功能
具体功能如下:
1、增加、修改、删除及标记任务完成;
2、历时任务查看;
3、任务优先级 ;
效果图:
conn.php 数据库操作文件
2
3 function add($data) {
4 $sql = "insert into todo(content,level,status,op_date) values('".$data["content"]."','".$data["level"]."','0',current_date) ";
5 executeSql($sql);
6 }
7
8 function edit($data) {
9 $sql = "update todo set content='".$data["content"]."',level='".$data["level"]."' where id='".$data["id"]."'";
10 executeSql($sql);
11 }
12
13 function del($id) {
14 $sql = "delete from todo where id='$id' ";
15 executeSql($sql);
16 }
17
18 function complete($id) {
19 $sql = "update todo set status='1',complete_date=current_date where id='$id' ";
20 executeSql($sql);
21 }
22
23 function getById($id) {
24 $sql = "select * from todo where id='$id' ";
25 $result = executeSql($sql);
26 $num_results = $result->num_rows;
27
28 $data = array ();
29 for($i = 0; $i < $num_results; $i ++) {
30 $row = ( array ) $result->fetch_assoc ();
31 $data = $row;
32 break;
33 }
34
35 $result->free();
36 return $data;
37 }
38
39 function getList() {
40 $sql = "select * from todo where status='0' order by level asc";
41
42 $result = executeSql($sql);
43
44 $num_results = $result->num_rows;
45
46 $data = array ();
47 for($i = 0; $i < $num_results; $i ++) {
48 $row = ( array ) $result->fetch_assoc ();
49 array_push ( $data, $row );
50 }
51
52 $result->free();
53 return $data;
54 }
55
56 function getHasCompleteList() {
57 $sql = "select * from todo where status='1' order by complete_date asc";
58
59 $result = executeSql($sql);
60
61 $num_results = $result->num_rows;
62
63 $data = array ();
64 for($i = 0; $i < $num_results; $i ++) {
65 $row = ( array ) $result->fetch_assoc ();
66 array_push ( $data, $row );
67 }
68
69 $result->free();
70 return $data;
71 }
72
73 function executeSql($sql) {
74 $db = getMysqlConn ();
75 $result = $db->query ( $sql );
76 $db->close ();
77 return $result;
78 }
79
80 function getMysqlConn() {
81 $db = new mysqli ( "localhost", "root", "", "galaxia_platform" );
82 if (mysqli_connect_errno ()) {
83 echo "Error: connect mysql failed";
84 exit();
85 }
86 return $db;
87 }
88 ?>
index.php 主文件
3 include 'conn.php';
4
5 $op = "show";
6
7 if (isset($_REQUEST["op"])) {
8 $op = $_REQUEST["op"];
9 }
10
11 switch ($op) {
12 case "show" :
13 break;
14 case "add" :
15 showAddForm();
16 break;
17 case "edit" :
18 showEditForm();
19 break;
20 case "save" :
21 if (isset($_REQUEST["content"],$_REQUEST["level"])) {
22 $data["content"] = $_REQUEST["content"];
23 $data["level"] = $_REQUEST["level"];
24 add($data);
25 echo "add success ";
26 }
27 break;
28 case "update" :
29 if (isset($_REQUEST["id"],$_REQUEST["content"],$_REQUEST["level"])) {
30 $data["content"] = $_REQUEST["content"];
31 $data["level"] = $_REQUEST["level"];
32 $data["id"] = $_REQUEST["id"];
33 edit($data);
34 echo "edit success ";
35 }
36 break;
37 case "delete" :
38 if (isset($_REQUEST["id"])) {
39 $id = $_REQUEST["id"];
40 del($id);
41 echo "delete success ";
42 }
43 break;
44 case "complete" :
45 if (isset($_REQUEST["id"])) {
46 $id = $_REQUEST["id"];
47 complete($id);
48 echo "complete task success ";
49 }
50 break;
51 }
52 showTodoList();
53
54 if ($op == "showHasComplete") {
55 showHasCompleteTodoList();
56 }
57
58 ?>
59
60 <?php
61 function showTodoList() {
62 ?>
63 <caption><h3>Todo list</h3></caption>
64 <a href="index.php?op=add">add new Todo</a> / <a href="index.php?op=show">show Todo list</a> / <a href="index.php?op=showHasComplete">show all list</a> <br/>
65 <table border="1">
66 <thead>
67 <td> </td>
68 <td width="500">content</td>
69 <td> </td>
70 </thead>
71 <?php
72 $todos = getList();
73 foreach($todos as $todo) {
74 ?>
75 <tr>
76 <td><input type="checkbox" οnclick="javascript:top.location='index.php?op=complete&id=<?php echo $todo['id']?>'"></td>
77 <td><?php echo $todo['content']?></td>
78 <td><a href="index.php?op=delete&id=<?php echo $todo['id']?>">delete</a>/<a
79 href="index.php?op=edit&id=<?php echo $todo['id']?>">edit</a></td>
80 </tr>
81 <?php
82 }
83 ?>
84 </table>
85 <?php
86 }
87 ?>
88
89 <?php
90 function showHasCompleteTodoList() {
91 ?>
92 <caption><h3>Has completed Todo list</h3></caption>
93 <table border="1">
94 <thead>
95 <td width="500">content</td>
96 <td>create date</td>
97 <td>complete date</td>
98 </thead>
99 <?php
100 $todos = getHasCompleteList();
101 foreach($todos as $todo) {
102 ?>
103 <tr>
104 <td><?php echo $todo['content']?></td>
105 <td><?php echo $todo['op_date']?></td>
106 <td><?php echo $todo['complete_date']?></td>
107 </tr>
108 <?php
109 }
110 ?>
111 </table>
112 <?php
113 }
114 ?>
115
116 <?php
117 function showAddForm() {
118 ?>
119 <form action="index.php?op=save" method="post">
120 content:<input type="text" name="content">
121 level:<select name="level">
122 <option vlaue="1">1</option>
123 <option vlaue="2">2</option>
124 <option vlaue="3">3</option>
125 </select>
126 <input type="submit" name="submit" value="add to list">
127 </form>
128 <?php
129 }
130 ?>
131
132 <?php
133 function showEditForm() {
134 ?>
135 <form action="index.php?op=update" method="post">
136 <?php
137 $todo = null;
138 if (isset($_REQUEST["id"])) {
139 $id = $_REQUEST["id"];
140 $todo = getById($id);
141 } else {
142 echo "id is empty !";
143 return;
144 }
145 ?>
146 <input type="hidden" name="id" value="<?php echo $todo['id']?>">
147 content:<input type="text" name="content" value="<?php echo $todo['content']?>">
148 level:<select name="level">
149 <option vlaue="1">1</option>
150 <option vlaue="2">2</option>
151 <option vlaue="3">3</option>
152 </select>
153 <input type="submit" name="submit" value="update">
154 <?php
155 ?>
156 </form>
157 <?php
158 }
159 ?>
SQL创建脚本:
`id` int(11) NOT NULL AUTO_INCREMENT,
3 `content` varchar(500) NOT NULL,
4 `op_date` date NOT NULL,
5 `status` int(1) NOT NULL,
6 `complete_date` date NOT NULL,
7 `level` int(1) NOT NULL,
8 PRIMARY KEY (`id`)
9 ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=18 ;
就花了一个多小时做的,只实现了基本功能,连注释也没来得及写,其实也就是CURD功能 :)
转载于:https://www.cnblogs.com/yimu/archive/2012/11/02/2750774.html
PHP 结合MYSQL简单的实现了Todo List 功能相关推荐
- 简易mysql优化_优化 MySQL:简单三个技巧
原标题:优化 MySQL:简单三个技巧 技巧#1:为临时表分配足够的内存 在某些情况下,服务器在处理语句时会创建内部临时表.临时表用于内部操作如GROUP BY和distinct,还有一些ORDER ...
- MySQL简单查询性能分析
MySQL简单查询性能分析 建立如此结构的数据表,并插入110万条随机记录,进行查询性能测试. 插入110万条随机记录后,数据表的大小为102MB. 现在使用phpMyAdmin自带的SQL查询 ...
- python alter table_python(pymysql)之mysql简单操作
一.mysql简单介绍 说到数据库,我们大多想到的是关系型数据库,比如mysql.oracle.sqlserver等等,这些数据库软件在windows上安装都非常的方便,在Linux上如果要安装数据库 ...
- php留言本在线制作,Flash+php+mysql简单留言本制作
推荐:Flash底片特效的制作在AS3中显示对象都有一个transform属性,设置这个属性可以改变显示对象的大小,旋转,颜色等特性.transform属性还有它自已的属性, 其中的colorTran ...
- mysql简易购物车系统_基于PHP+Mysql简单实现了图书购物车系统的实例详解
基于PHP+Mysql简单实现了图书购物车系统的实例详解,购物车,这是,页面,简单,图书 基于PHP+Mysql简单实现了图书购物车系统的实例详解 易采站长站,站长之家为您整理了基于PHP+Mysql ...
- mysql架设,Mysql 简单架设 (转信)
发信人: wildlily (你是风儿,我是沙), 信区: linux 标 题: Mysql 简单架设 发信站: 交通大学思源BBS (Tue Feb 22 17:41:14 2000), 转信 In ...
- navicat怎么学mysql_Navicat for mysql简单易学,就不需要学习mysql了_学小易找答案
[填空题]/ˈ bʌkɪt/ [单选题]WHO编定国际通用药品名称是指 [单选题]处方每次剂量不应超过药典所规定的( ) [单选题]qod的意思是( ) [多选题]四色处方分别代表的是( ) [单选题 ...
- mysql 简单查询和聚合查询部分方法
– 1.查询特定的列 – 实例:查询出所有员工的编号和姓名 select eid,ename from emp; – 练习: select ename,sex,birthday,salary from ...
- Python+Django+Mysql简单在线课程推荐系统 基于用户、项目、内容的协同过滤推荐算法 SimpleOnlineCourseCFRSPyth python实现协同过滤推荐算法实现源代码下载
Python+Django+Mysql简单在线课程推荐系统 基于用户.项目.内容的协同过滤推荐算法 SimpleOnlineCourseCFRSPyth python实现协同过滤推荐算法实现源代码下载 ...
- PHP操作Mysql简单的增删改查
PHP操作Mysql简单的增删改查 今天晚上回想了一下php怎么操作mysql,突然发现都忘了,然后通过回忆,搜寻资料总结了以下几点,一是提醒自己不要忘了,再就是希望能帮助一些有帮助的朋友.大佬请路过 ...
最新文章
- 连续时间傅里叶变换的性质(简介及推导)
- 两个大数(整数)相加模板
- 网站安全狗V3.0—— .NET安全设置及保护实战教程
- boost::mpl模块实现zip_view相关的测试程序
- 记一次ubuntu阿里的下载源的问题
- Java Lambda 表达式(又名闭包 (Closure)/ 匿名函数 ) 笔记
- 多表查询返回多个DataTable,合并到一个Table中.
- cad必练10张图_CAD比例问题大详解!赶紧收藏!
- 现代软件工程系列 学生的精彩文章 (3) 如何在Bug 不断的情况下还能保持平常心...
- (转)从零实现3D图像引擎:(5)3D坐标系函数库
- Python游戏开发! Mac完美安装pygame
- go generate 生成代码
- java实现递归算法
- session 过期怎么办
- Linux 日志查看命令journalctl
- Plot双y轴绘制常用代码
- 甘特图控件VARCHART XGantt,解读活动组布局的“单独行中的节点”选项!
- 去掉鼠标右键文件时的“百度一下这个文件”菜单命令
- 简单的微服务feign之间调用授权/安全验证
- ABAP ALV(LVC)下拉框或者F4搜索帮助