二周工作总结(php方向)
前言:年后回来在忙着换工作,最终拿到了三家的offer,最后权衡去了一家实业公司做oa系统的开发,刚入职做一些技术的总结同时记录自己的技术进步
(一) 用mysql视图实现多个表之间的联查
优点:在实际开发的过程中其实对表格的联查是最为普遍的,视图作为一个好的工具在其中发挥着重要的作用,同时是虚拟的表格不会对实际的数据产生太多直接的影响,能够复用其中的功能,在数据库查询数据发挥着重要的作用
使用方法:
DROP VIEW IF EXISTS `xxx`; create view view_name as 你复杂的查询语句(这里一般会用连表复杂的语句)
//同时使用以上两个句子生成一个视图虚拟文件
(二) EasyUI 页面布局的使用
1.easyui弱化了专业前端的布局同时也不失后端的效果,降低了公司的成本
2.使用的坑(简单介绍),我在用easyui和layer父子传值的时候,想在子页面把值写回到上一个页面同时修改input框的值,但是怎样都是不行,按照layer官网的介绍,最后发现在easyui中与layer使用时候想要把值写回到input框时候需要parent.$('需要写回去的#id').textbox('setText',值1).textbox('setValue',值2);//只有这样做你才可以修改上一个页面的值 3.http://www.jeasyui.net/(中文官网)需要详细去测试每一个功能才能够对它的了解
(三) Datatable的使用
data在作为一个后端程序猿是十分有用的工具在做后台数据展示时候发挥着重要的作用这里直接上代码
//1.使用前要有一个总体的了解,datatable是在前端table的基础上进行修饰的一般在页面加载完成时候加入这个功能 $(function(){ $('#id').dataTable({ //下面是很多的参数设置不难可以参考(https://www.cnblogs.com/hyywaq/p/5919412.html) "dom": "lfrtip", "searching": false, "paging": true, "info": true, "ordering": true, "orderMulti": true, "order": [[1,'asc']], "serverSide": true, "processing": true, "stateSave": false, "language": { url : "/ini/_language.json" }, "pagingType": "full_numbers", "lengthMenu": [[10, 50, 100, 500, -1], [10, 50, 100, 500, "所有"]], "autoWidth": true, "scrollX": true, "scrollY": otable_height, "scrollCollapse": true, //重点在下面这里***************
'ajax':{
url:url地址,
type:'post/get默认',
//下面这个data主要做搜索功能的
'data':function(d){
return $.extend({},d,{
'请求名字':function(){return $('#id').textbox('getValu');}//发送到服务器的请求携带参数
})
},
'aoColumns':[
{ "mData(这个名字随意)": "1(这个要和后端处理名字一样)", "bSortable": true(是否排序) },
{
"mData": "90", "bSortable": true,
//以下这个功能主要是后端返回了数据在前端来把值处理例如后端返回0/1值你可以拿着这个data做转换成开启或者关闭
'render':function(data,type,row){
return format_sheetstatus(data)(这个方法是我项目封装的转换函数)
}
}]
}
});
});
//这个函数主要是在我点击查询后对这个数据进行重绘重排的操作
function query(){
oTable.fnDraw(true);
};
//以上是我的前端代码
//后端代码使用datatable返回的数据必须是要一一对应前端设置显示的列相同不然会报错
$res = $course->with('profession')->get();//获取所有的数据
$cnt = $course->with('profession')->count();//获取总条数
$info = [
'draw'=>$request->get('draw'),
'recordsTotal'=>$cnt,
'reconrdFiltered'=>$cnt,
'data' =>$res
];
return $info;
//datatable很强大还是需要不断去学习这个