博主信息
博文 29
粉丝 0
评论 0
访问量 21622
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
PHP递归函数,MySql建简单用户表,进行增删查改小结
cool442
原创
630人浏览过

1. 递归函数

  • 递归函数: recursion 函数自身调用自身, 但必须调用自身之前有满足特定条件,否则会无线调用下去。
  1. <?PHP
  2. // 递归函数:
  3. // 封闭一个递归函数,删除缓存目录,即要删除所有文件及目录
  4. // 要删除目录首先要打开目录,用opendir(),成功则返回一个资源类型,即目录句柄,失败返回false
  5. // is_dir()判断是否是目录
  6. // php删除目录命令只能删除空目录,即要先删除所有文件
  7. /*
  8. * 参数:目录路径
  9. * 删除指定的目录
  10. *
  11. */
  12. // 原理:判断是否目录->打开目录,取得目录句柄->读取句柄遍历取得资源名称->判断资源名称是目录,是则再调用自身函数,不是则删除文件->
  13. function clear_cache_dir($dir)
  14. {
  15. // 判断路径是否是目录
  16. if (is_dir($dir)) {
  17. // 打开目录,判断是否取得目录资源,即打开目录返回不为false,同时定义变量$handle存放目录资源
  18. if ($handle = opendir($dir)) {
  19. // 从目录资源中读取每个目录和文件,判断读取结果,不为false时,遍历取得资源名称,用$file存放
  20. // 注意,目录名为0时,会判断为false,因此要比较不全等!==
  21. while (($file = readdir($handle)) !== false) {
  22. // 判断资源路径是否是目录
  23. if ($file != '.' && $file != '..') {
  24. if (is_dir($dir . DIRECTORY_SEPARATOR . $file)) {
  25. // 再次调用自身,直到进入最后一层目录
  26. clear_cache_dir($dir . DIRECTORY_SEPARATOR . $file);
  27. } else {
  28. // 不是目录则为文件,执行删除文件
  29. unlink($dir . DIRECTORY_SEPARATOR . $file);
  30. }
  31. }
  32. }
  33. // 遍历所有子目录,删除所有文件后,关闭目录句柄
  34. closedir($handle);
  35. // 删除目录,设置删除标识为true
  36. if (rmdir($dir)) {
  37. return json_encode(['msg' => '清除成功', 'satatus' => 1], 320);
  38. } else {
  39. // 返回json字符串
  40. return json_encode(['msg' => '清除失败', 'satatus' => 0], 320);
  41. }
  42. }
  43. }
  44. }
  45. $dir = __DIR__ . DIRECTORY_SEPARATOR . 'bootstrap';
  46. echo clear_cache_dir($dir);

2. MySql

-设置默认字符集
修改my.ini,增加以下内容:
[mysql]
default-character-set=utf8
[mysqld]
character-set-server=utf8

  • 建立表news
  1. CREATE TABLE news (
  2. titel varchar(300) NULL COMMENT '标题',
  3. img varchar(300) NULL COMMENT '图片',
  4. content text NULL COMMENT '内容',
  5. date date NULL COMMENT '日期',
  6. class varchar(50) NULL COMMENT '分类'
  7. );
  • 插入数据
  1. INSERT INTO news (titel,img,content,date,class) VALUES ('做好新发展阶段“三农”工作的行动纲领','','做好新发展阶段“三农”工作的行动纲领','2022-3-25','国内要闻');
  2. INSERT INTO news (titel,img,content,date,class) VALUES ('国防部回应“美军F35与歼20近距离接触”','','国防部回应“美军F35与歼20近距离接触”',NOW(),'军事要闻');
  3. INSERT INTO news (titel,img,content,date,class) VALUES ('五年来,雄安的每一天都是新的 奋斗吧!中国','','五年来,雄安的每一天都是新的 奋斗吧!中国',NOW(),'国内要闻');
  4. INSERT INTO news (titel,img,content,date,class) VALUES ('4月1日起油价调整!加满一箱油,将多花4.5元','','4月1日起油价调整!加满一箱油,将多花4.5元',NOW(),'国内要闻');
  5. INSERT INTO news (titel,img,content,date,class) VALUES ('工龄20年纺织大叔测评服装走红:想在老家盖房子','','工龄20年纺织大叔测评服装走红:想在老家盖房子',NOW(),'国内要闻');
  6. INSERT INTO news (titel,img,content,date,class) VALUES ('俄军在俄日争议领土战斗训练 夜间发出罕见闪光轰鸣','','俄军在俄日争议领土战斗训练 夜间发出罕见闪光轰鸣',NOW(),'军事要闻');
  7. INSERT INTO news (titel,img,content,date,class) VALUES ('美国空军期待B-21与B-52CERP轰炸机“搭班作战”','','美国空军期待B-21与B-52CERP轰炸机“搭班作战”',NOW(),'军事要闻');
  • 删除数据

    1. DELETE FROM news WHERE class='军事要闻';
  • 查询
    — 条件WHERE

    1. SELECT * FROM news WHERE class='军事要闻';
    2. SELECT titel,date FROM news WHERE class='国内要闻';

    — 分页LIMIT

    1. SELECT titel,date FROM news WHERE class='国内要闻' LIMIT 1,3;

— 排序ORDER:ASC 正序(默认)、DESC 倒序

  1. SELECT titel,date FROM news WHERE class='国内要闻' ORDER BY date DESC;
  2. SELECT titel,date FROM news WHERE class='国内要闻' ORDER BY date;
  • 修改
    1. UPDATE news SET class='国际要闻' , img='https://n.sinaimg.cn/mil/crawl/143/w550h393/20220329/50d3-e7cc796b54b235bcb98ef3115ed0dda4.jpg' WHERE titel='俄军在俄日争议领土战斗训练 夜间发出罕见闪光轰鸣';
批改老师:PHPzPHPz

批改状态:合格

老师批语:
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学