第三家面试过程,及导出elcel的进一步小结。(8月11号 周五)

        今天收到第三家公司的面试通知,面试地址也在民治附近,面试时间是上午十点。今早又失眠了,感觉到这边这么几天,总是天天失眠,晚上睡不好白天瞌睡睡不着,估计还需要些许时间的适应,早上七点多我整理好面试需要准备的东西,拿着简历下了楼,在路边买了两个包子边吃边往地铁站走,早上两个包子到这边天天如此,基本也算习惯了,翻身站上车,最起码可以直达民治,下车后,手机导航,直接过去了,之间还导错了一段路,害的我又折返回去。那个公司在一个工业楼的顶楼5楼,没有电梯,直接步行上去了,进去之后找到公司,跟他说我是来面试的,简历递了过去,然后给了张题让答,题一共有三张,看到这么多题我就懵了,具体题目如下:1.用PHP打印出前一天的时间 格式是 2006-5-10 22:21:21   2.echo() print() print_r()的区别  3.使用哪些工具进行版本控制? 4.mysql取得当前时间的函数是?格式化日期的函数是?  5.现有字符串$str="a爱国b友善",现在需要获得新字串$nstra="a爱国"。请用一个函数写出实现代码。 6.用php写出显示客户端IP与服务器IP的代码。   7.如何修改session的生存时间。  8.请用javascript 写一段验证邮箱地址的函数,必须实现:1、非空验证。2、正则表达式。   9.简述js闭包的优缺点。   10.mysql_fetch_row()和mysql_fetch_array之间有什么区别?   11.对于大流量的网站,您采用什么样的方法来解决访问量的问题?  基本题目就这么多,剩下的就是让你写一下自己最得意作品的开发,以及你的框架还有微信公号是否了解的一些填空题,最后就是写一下你期望的薪资这些。总的来说吧离开书本或者电脑,手写这些问题有些确实有一定难度,当时有些我也是发蒙,不过基本大概都写了写,有些还用手机查了查,不过这样不好,以后尽量少这样就是,填完题之后把题交了上去,和我一起的还有几个面试的,都把题交了上去,最后收题的直接说明天等通知吧,上面主要看题答的如何,我晕,这就算面试完毕了,之后就撤了,就这样上午的面试到此完毕,等我回到住处的时候已经快中午了,吃了点饭,把衣服洗了洗,下午没有面试就赶到朋友公司练习,想学一下tp5,主要还是因为自己懂的有点落伍了,必须抓紧。

        在朋友公司,他有个程序上次让我改路径,我直接把包含文件里路径不对的文件,提到了程序需要执行的页面里,这种做法不是很好,因此只能继续想办法,随后查资料,找到到的是 $_SERVER['DOCUMENT_ROOT'] PHP预定义变量,作用是:获取当前运行脚本所在的文档根目录。该根目录是由服务器配置文件中定义。有了它我就可以把引入的文件从根目录寻起,不用因为路径问题而困扰了。例如我可以这么写include_once $_SERVER['DOCUMENT_ROOT']. "/includes/ezsql/shared/ez_sql_core.php"; 就这样,引入文件的问题算解决了,接下来还是数据写入模板excel文件的问题,朋友创建了视图,教我直接用ezsql语句引入,然后foreach遍历输出到表就行了,基本思路就是这样的,代码这样写

$row = 2; 

global $db;

 $sql = "SELECT 这里写字段 FROM 视图名";

$OrderList = $db->get_results($sql);

foreach ($OrderList as $order)
{
$col=0;
for(i=0;i<=count($order);i++)
{

$objPHPExcel->setActiveSheetIndex()->setCellValueByColumnAndRow($col, $row, $val);
$col++;
}

$objPHPExcel->setActiveSheetIndex()->setCellValueByColumnAndRow($col+6, $row, 1);

$row++;
}

基本就是这样的其中最后一长句$objPHPExcel->setActiveSheetIndex()->setCellValueByColumnAndRow($col+6, $row, 1);是写死的,直接对表里的一列复制。

视图是这样写的

ALTER
ALGORITHM=UNDEFINED
DEFINER=`root`@`%`
SQL SECURITY DEFINER
VIEW 视图名` AS
SELECT
`表别名`.`列名` AS `列别名`,
`表别名`.`列名` AS `列别名`,

`表别名`.`列名` AS `列别名`,

`表别名`.`列名` AS `列别名`,
FROM
(
(
`orderlist` `表别名`
JOIN `address` `表别名`
)
JOIN `orderitemlist` `表别名`
)
WHERE
(
(
`表别名`.`列名` = '列值'
)
AND (
`表别名`.`表别名` = `另一表别名`.`另一表列名`
)
AND (
`表别名`.`列名` = `另一表别名`.`另一表列名`
)
) ;

 

基本数据输出就算实现了,另外还有一个权限字段还要机图分析后再输出数据,这个还需要再写一下。

posted @ 2017-08-12 16:22  zdong  阅读(251)  评论(0编辑  收藏  举报