具体功能如下:

1、增加、修改、删除及标记任务完成;

2、历时任务查看;

3、任务优先级 ;

效果图:

conn.php 数据库操作文件

 1 <?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  主文件

  2 <?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> &nbsp;/&nbsp;<a href="index.php?op=show">show Todo list</a>&nbsp;/&nbsp;<a href="index.php?op=showHasComplete">show all list</a>&nbsp;<br/>
 65 <table border="1">
 66     <thead>
 67         <td>&nbsp;&nbsp;</td>
 68         <td width="500">content</td>
 69         <td>&nbsp;</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创建脚本:

2    CREATE TABLE IF NOT EXISTS `todo` ( 
`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 功能相关推荐

  1. 简易mysql优化_优化 MySQL:简单三个技巧

    原标题:优化 MySQL:简单三个技巧 技巧#1:为临时表分配足够的内存 在某些情况下,服务器在处理语句时会创建内部临时表.临时表用于内部操作如GROUP BY和distinct,还有一些ORDER ...

  2. MySQL简单查询性能分析

    MySQL简单查询性能分析  建立如此结构的数据表,并插入110万条随机记录,进行查询性能测试.   插入110万条随机记录后,数据表的大小为102MB. 现在使用phpMyAdmin自带的SQL查询 ...

  3. python alter table_python(pymysql)之mysql简单操作

    一.mysql简单介绍 说到数据库,我们大多想到的是关系型数据库,比如mysql.oracle.sqlserver等等,这些数据库软件在windows上安装都非常的方便,在Linux上如果要安装数据库 ...

  4. php留言本在线制作,Flash+php+mysql简单留言本制作

    推荐:Flash底片特效的制作在AS3中显示对象都有一个transform属性,设置这个属性可以改变显示对象的大小,旋转,颜色等特性.transform属性还有它自已的属性, 其中的colorTran ...

  5. mysql简易购物车系统_基于PHP+Mysql简单实现了图书购物车系统的实例详解

    基于PHP+Mysql简单实现了图书购物车系统的实例详解,购物车,这是,页面,简单,图书 基于PHP+Mysql简单实现了图书购物车系统的实例详解 易采站长站,站长之家为您整理了基于PHP+Mysql ...

  6. mysql架设,Mysql 简单架设 (转信)

    发信人: wildlily (你是风儿,我是沙), 信区: linux 标 题: Mysql 简单架设 发信站: 交通大学思源BBS (Tue Feb 22 17:41:14 2000), 转信 In ...

  7. navicat怎么学mysql_Navicat for mysql简单易学,就不需要学习mysql了_学小易找答案

    [填空题]/ˈ bʌkɪt/ [单选题]WHO编定国际通用药品名称是指 [单选题]处方每次剂量不应超过药典所规定的( ) [单选题]qod的意思是( ) [多选题]四色处方分别代表的是( ) [单选题 ...

  8. mysql 简单查询和聚合查询部分方法

    – 1.查询特定的列 – 实例:查询出所有员工的编号和姓名 select eid,ename from emp; – 练习: select ename,sex,birthday,salary from ...

  9. Python+Django+Mysql简单在线课程推荐系统 基于用户、项目、内容的协同过滤推荐算法 SimpleOnlineCourseCFRSPyth python实现协同过滤推荐算法实现源代码下载

    Python+Django+Mysql简单在线课程推荐系统 基于用户.项目.内容的协同过滤推荐算法 SimpleOnlineCourseCFRSPyth python实现协同过滤推荐算法实现源代码下载 ...

  10. PHP操作Mysql简单的增删改查

    PHP操作Mysql简单的增删改查 今天晚上回想了一下php怎么操作mysql,突然发现都忘了,然后通过回忆,搜寻资料总结了以下几点,一是提醒自己不要忘了,再就是希望能帮助一些有帮助的朋友.大佬请路过 ...

最新文章

  1. 连续时间傅里叶变换的性质(简介及推导)
  2. 两个大数(整数)相加模板
  3. 网站安全狗V3.0—— .NET安全设置及保护实战教程
  4. boost::mpl模块实现zip_view相关的测试程序
  5. 记一次ubuntu阿里的下载源的问题
  6. Java Lambda 表达式(又名闭包 (Closure)/ 匿名函数 ) 笔记
  7. 多表查询返回多个DataTable,合并到一个Table中.
  8. cad必练10张图_CAD比例问题大详解!赶紧收藏!
  9. 现代软件工程系列 学生的精彩文章 (3) 如何在Bug 不断的情况下还能保持平常心...
  10. (转)从零实现3D图像引擎:(5)3D坐标系函数库
  11. Python游戏开发! Mac完美安装pygame
  12. go generate 生成代码
  13. java实现递归算法
  14. session 过期怎么办
  15. Linux 日志查看命令journalctl
  16. Plot双y轴绘制常用代码
  17. 甘特图控件VARCHART XGantt,解读活动组布局的“单独行中的节点”选项!
  18. 去掉鼠标右键文件时的“百度一下这个文件”菜单命令
  19. 简单的微服务feign之间调用授权/安全验证
  20. ABAP ALV(LVC)下拉框或者F4搜索帮助

热门文章

  1. WhatsApp即时翻译WhatsApp聊天自动翻译成中文
  2. python 类继承
  3. 淘宝降价补差价规则是什么?有哪些规则?
  4. win的反义词_常见英语反义词、近义词、同义词及词形转换(附电子版)
  5. 百度经纬度转谷歌/高德经纬度
  6. 数据结构与算法之排序篇(下)
  7. 中兴新支点操作系统——背景、徽标大起底
  8. BZOJ 4173: 数学
  9. 小米5USB 计算机连接,小米手机连接电脑不显示usb选项
  10. R中的 探索性因子分析 (EFA)