tx

个人信息

姓名:林思灵

学号:221801333

性别:女

邮箱:1390476733@qq.com

个人技术博客

作业基本信息

这个作业属于哪个课程 2021春软件工程实践S班(福州大学)
这个作业要求在哪里 软件工程实践总结&个人技术博客
这个作业的目标 对软件工程实践总结,完成个人技术博客
其他参考文献 《构建之法》

PHP操作数据库

概述

1.通过php遍历存放论文json文件的文件夹,解析json文件数据
2.对jsonString进行处理,使关键字去掉双引号和大括号,以分号分隔
3.对发布日期进行处理,因为原本的Date数据被转化为jsonString后月份为英文,无法在转成Date,因此通过月份数字转化存入字符串中
4.将处理好数据存入数据表
5.链接数据库,获得前端传输的搜索内容,运用MySQL语句对论文表所有数据模糊搜索(统计操作:设置关键词表字段num初值为1,对关键词表的关键词字段重复出现次数进行count(*)统计,次数设置为total,以关键词group,以total排序,limit 10.)
6.获得符合条件的数据,将其传到前端

关键代码截图

通过php遍历存放论文json文件的文件夹,解析json文件数据

$dir = "ECCV/";
if (is_dir($dir)){
if ($dh = opendir($dir)){
while (($file = readdir($dh)) !== false){
  if($file!='.'&& $file!='..'){
    $path="ECCV/".$file;
    $json_string = file_get_contents($path); 
    $data = json_decode($json_string, true);// 用参数true把JSON字符串强制转成PHP数组 
    $datas = array();//保存处理好的信息
    $i=0;
    foreach($data as $list=>$things)

对jsonString进行处理,对被转化为array的关键字进行处理去掉双引号和大括号,以分号分隔

if(is_array($things)){
$str='';
foreach ($things as $key => $value) 
{
$str .=$value.';'; 
}
$datas[$i]=$str;
}

对发布日期进行处理,因为原本的Date数据被转化为jsonString后月份为英文,无法在转成Date,因此通过月份数字转化存入字符串中

$find = array("January","February","March","April","May","June","July","August","September","October","November","December" );
$rep = array("01","02","03","04","05","06","07","08","09","10","11","12");
$number=str_ireplace($find, $rep, $things);
$day=substr($number,0,2);//取得年份 
$month=substr($number,3,2);//取得月份 
$year=substr($number,6,4);//取得几号 
$number = $year.'-'.$month.'-'.$day; 
$datas[$i]=$number;

设置关键词表字段num初值为1,对关键词表的关键词字段重复出现次数进行count(*)统计,次数设置为total,以关键词group,以total排序,limit 10.

$mysqli->query("select keyword,sum(num) as total from keyword group by keyword order by total DESC limit 10");

遇到困难

在学习PHP遍历解析json文件之前,尝试了许多办法来批量解析json文件,但下载的软件解析文件数量有限,后面终于决定尝试使用PHP来实现,而本来以为很困难的方法,在百度搜索都没有明确解决方法之后,根据类似的代码总结出了正确的方法,虽然过程很痛苦,但是通过自己努力自己解决困难的成就感还是很好的。

总结

在一学期的漫长学习实践中,学习到的知识和经验是宝贵值得珍惜的,既有遇到困难无法解决的着急和挫败,也有通过努力克服困难的喜悦,更重要的是感觉到自己正在一点点进步,对未来的方向也更清晰。同时,在实践中不断巩固自己所学的知识,将遇到的问题转化为新的知识吸收,为之后的工作积累经验。

posted on 2021-06-28 15:03  0lll  阅读(992)  评论(1编辑  收藏  举报

导航