Blogger Information
Blog 29
fans 0
comment 0
visits 14879
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
PHP递归函数,MySql建简单用户表,进行增删查改小结
cool442
Original
438 people have browsed it

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='俄军在俄日争议领土战斗训练 夜间发出罕见闪光轰鸣';
Correcting teacher:PHPzPHPz

Correction status:qualified

Teacher's comments:
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post