文章目录

  • 项目展示
  • 数据准备
  • 代码
  • 获取代码

项目展示

首页访问地址 http://localhost/WISH/index.php

添加许愿

编辑许愿

密码默认是:szm

删除许愿

数据准备

代码

│  index.php
│  php_wish.sql
│  save.php
│
├─common
│      function.php
│      init.php
│
├─css
│      style.css
│
├─js
│      common.js
│      jquery-1.12.4.min.js
│
└─view│  index.html│└─commonadd.htmledit.htmlpassword.html
<?php
require './common/init.php';
require './common/function.php';// 获取当前页码
$page = max(input('get', 'page', 'd'), 1);
// 每页显示的条数
$size = 4;$sql = 'SELECT count(*) FROM `wish`';
if (!$res = mysqli_query($link, $sql)) {exit("SQL[$sql]执行失败:" . mysqli_error($link));
}
$total = (int) mysqli_fetch_row($res)[0];// 查询所有愿望
$sql = 'SELECT `id`,`name`,`content`,`time`,`color` FROM `wish` ORDER BY `id` DESC LIMIT ' . page_sql($page, $size);
if (!$res = mysqli_query($link, $sql)) {exit("SQL[$sql]执行失败:" . mysqli_error($link));
}
$data = mysqli_fetch_all($res, MYSQLI_ASSOC);
mysqli_free_result($res);// 查询结果为空时,自动返回第1页
if (empty($data) && $page > 1) {header('Location: ./index.php?page=1');exit;
}// 编辑或删除愿望
$id = max(input('get', 'id', 'd'), 0);
$action = input('get', 'action', 's');
if ($id) {$password = input('post', 'password', 's');$sql = 'SELECT `name`,`content`,`color`,`password` FROM `wish` WHERE `id`=' . $id;if (!$res = mysqli_query($link, $sql)) {exit("SQL[$sql]执行失败:" . mysqli_error($link) . $sql);}if (!$edit = mysqli_fetch_assoc($res)) {exit('该愿望不存在!');}mysqli_free_result($res);$checked = isset($_POST['password']) || empty($edit['password']);if ($checked && $password !== $edit['password']) {$tips = '密码不正确!';$checked = false;}// 删除愿望if ($checked && $action == 'delete') {$sql = 'DELETE FROM `wish` WHERE `id`=' . $id;if (!mysqli_query($link, $sql)) {exit('SQL执行失败:' . mysqli_error($link));}header('Location: ./index.php');exit;}
}mysqli_close($link);
require './view/index.html';
<?php
/*** 接收输入的函数* @param array $method 输入的数组(可用字符串get、post来表示)* @param string $name 从数组中取出的变量名* @param string $type 表示类型的字符串* @param mixed $default 变量不存在时使用的默认值* @return mixed 返回的结果*/
function input($method, $name, $type = 's', $default = '')
{switch ($method) {case 'get': $method = $_GET;break;case 'post': $method = $_POST;break;}$data = isset($method[$name]) ? $method[$name] : $default;switch ($type) {case 's': return is_string($data) ? $data : $default;case 'd': return (int) $data;default: trigger_error('不存在的过滤类型“' . $type . '”');}
}/*** 格式化日期* @param type $time 给定时间戳* @return string 从给定时间到现在经过了多长时间(天/小时/分钟/秒)*/
function format_date($time)
{$diff = time() - $time;$format = [86400 => '天', 3600 => '小时', 60 => '分钟', 1 => '秒'];foreach ($format as $k => $v) {$result = floor($diff / $k);if ($result) {return $result . $v;}}return '0.5秒';
}/*** 生成分页导航HTML* @param string $url 链接地址* @param int $total 总记录数* @param init $page 当前页码值* @param int $size 每页显示的条数* @return string 生成的HTML结果*/
function page_html($url, $total, $page, $size)
{// 计算总页数$maxpage = max(ceil($total / $size), 1);// 如果不足2页,则不显示分页导航if ($maxpage <= 1) {return '';}if ($page == 1) {$first = '<span>首页</span>';$prev = '<span>上一页</span>';} else {$first = "<a href=\"{$url}1\">首页</a>";$prev = '<a href="' . $url . ($page - 1) . '">上一页</a>';}if ($page == $maxpage) {$next = '<span>下一页</span>';$last = '<span>尾页</span>';} else {$next = '<a href="' . $url . ($page + 1) . '">下一页</a>';$last = "<a href=\"{$url}{$maxpage}\">尾页</a>";}// 组合最终样式return "<p>当前位于:$page/$maxpage</p>$first $prev $next $last";
}/*** 获取SQL中的分页部分* @param int $page 当前页码值* @param int $size 每页显示的条数* @return string 拼接后的结果*/
function page_sql($page, $size)
{return ($page - 1) * $size . ',' . $size;
}

获取代码

https://github.com/hiszm/wallwish

如果GitHub 代码网络不稳定;

微信公众号@孙中明; 回复6005 获取代码和数据库文件

期末大作业——许愿墙相关推荐

  1. web期末大作业-前端网页--H5--海贼王动态网页源码-海贼王网页

    昨天写了一个草帽海贼团的动态网页,用的是原生JS写的,个人感觉网页的风格还是挺不错的. 网页采用了fullpage的技术,通过鼠标滚轮切换显示的内容,也可同过头部文字或右侧的小圆点导航到相应的页面 首 ...

  2. HTML5期末大作业:家居/家电/家居网站设计——html家具装饰网站设计30页(含论文) HTML+CSS+JavaScript 学生DW网页设计作业成品 web课程设计网页规划与设计 计算机...

    HTML5期末大作业:家居/家电/家居网站设计--html家具装饰网站设计30页(含论文) HTML+CSS+JavaScript 学生DW网页设计作业成品 web课程设计网页规划与设计 计算机毕设网 ...

  3. Web前端期末大作业-响应式室内家具网页设计(HTML+CSS+JS)实现

    作者主页:Java李杨勇 文末获取源码联系  临近期末, 你还在为HTML网页设计结课作业,老师的作业要求感到头大?网页要求的总数量太多?HTML网页作业无从下手?没有合适的模板?等等一系列问题.你想 ...

  4. HTML5期末大作业:网站——美丽家乡(含HTML+CSS+JS源码及课程设计文档)

    HTML5期末大作业:网站--美丽家乡(含源码及课程设计文档) 临近期末, 你还在为HTML网页设计结课作业,老师的作业要求感到头大?HTML网页作业无从下手?网页要求的总数量太多?没有合适的模板?等 ...

  5. 深圳大学电信C语言期末大作业 弹球模拟

    深圳大学电信C语言期末大作业 弹球模拟 实验16-17:综合实验 4-在二维封闭房间中的弹球模拟程序 实验任务: (1) 进一步掌握数组的定义与使用:进一步掌握函数的定义和函数调用方法: (2) 学习 ...

  6. 计算机管理信息系统大作业,管理信息系统期末大作业

    <管理信息系统>期末大作业- 1 -计算机科学与工程学院<管理信息系统>期末大作业班 级: 学 号: 姓 名: 指 导 教 师: 杨 剑 勇 2011 年 月计算机科学与工程学 ...

  7. 计算机应用基础考试试题及答案 在word中,用户建立的文件默认,天津大学《计算机应用基础》2016年12月考试期末大作业考核试题...

    请同学及时保存作业,如您在20分钟内不作操作,系统将自动退出. <计算机应用基础>2016年12月考试期末大作业考核试题 试卷总分:100 测试时间:-- 单选题 一.单选题(共50 道试 ...

  8. 东华大学java_东华大学2020秋《Java程序设计》期末大作业

    东华大学继续教育学院 2020年秋季学期 远程学历教育<Java程序设计>期末大作业 一.选择题(本大题共10小题,每小题 1分, 共10分) 1.    下列哪个不是面向对象程序设计的基 ...

  9. Linux大作业任务书,《Linux系统管理》期末大作业任务书(计网14级).doc

    <Linux系统管理>期末大作业任务书(计网14级) 软件学院大作业任务书 课程名称: Linux系统管理 题 目: Linux系统管理期末大作业 专 业: 班 级: 学 号: 学生姓名: ...

最新文章

  1. 利用JavaScript的复制
  2. AOP和IOC的作用
  3. (转)javabean是什么和总结javabean的两种使用方式
  4. linux ntp时间同步
  5. str计算机中代表什么,STR到底是待机还是休眠
  6. hash算法_hash一致性算法
  7. RTP/RTCP/RTSP/SIP/SDP 关系(直接看总结)
  8. cockroachdb的一些网址信息
  9. linux python指令大全,Linux常用指令
  10. NLP︱高级词向量表达(三)——WordRank(简述)
  11. C++ VS2017 编译调用 gflags
  12. win10定时锁定计算机,Win10自动锁屏时间太长了怎么设置?Win10设置自动锁屏时间的操作...
  13. MOS管自举电路工作原理以及升压自举电路结构图分析
  14. Python配置清华镜像源
  15. ElasticSearch 高级查询语法
  16. WINCC做OPC UA服务器与第三方客户端连接测试
  17. linux镜像使用什么pe安装系统,Linux系统ISO镜像文件可不可以用pe启动盘来安装
  18. Java 序列化详解
  19. SaaSBase:什么是INFOR ERP?
  20. AD20设计规则检查设置(DRC检查设置)

热门文章

  1. 用好搜索神器Everything,盘活你的文件
  2. VisionTransformer(三)BIT—— 基于孪生网络的变化检测结构分析
  3. android getruntime.exec 权限
  4. 江南大学数字媒体技术大三上作业整理——顾清宇
  5. 前端已死?我看未必,但「低代码」已剑指前端程序员
  6. 中国青年报:有多少网络论坛永远免费
  7. 重磅!《2020年中国 DevOps 现状调查》全面启动!
  8. 维基解密网站总编辑身世被解密
  9. 用图片实现滚动条样式
  10. 安卓以太网共享4G网络方法