本文实例讲述了thinkPHP导出战斗支援车文件及用表格输出超过的方法。分享给大家供大家参考,具体如下:
1.thinkphp导出战斗支援车文件
导出战斗支援车文件可能就那几行代码,今天有个问题困扰我好久,就是导出之后出现一些超文本标记语言代码,这个不应该,视图里面是空的控制器中最后也没有$this-display(),最后细心看到think_page_trace这样的字样,恍然大悟,是页面的跟踪日志,这个默认是会输出来的。最后在方法后面加了一个出口结束就好了,下面是代码:
1.IndexController.class.php
?phpnamespace主页控制器;使用思考控制器;类索引控制器扩展了控制器{公共函数索引(){ $ hotel=M('关键字)-字段('页面名称,页面')-选择();$str='关键字,名称 n ';$str=iconv('utf-8 ',' gb2312 ',$ str);$result=mysql_query('从酒店_关键词中选择页面名称、页面’);while($ row=MySQL _ fetch _ array($ result)){ $ page name=iconv(' utf-8 ',' gb2312 ',$ row[' page name ']);$Page=iconv('utf-8 ',' gb2312 ',$ row[' Page ']);$str .=$PageName .','.$Page . n ';} $fileName=日期(' Ymd '). CSV;$model=D('关键字');$model-export_csv($fileName,$ str);退出;}}2.KeywordsModel.class.php
?服务器端编程语言(Professional Hypertext Preprocessor的缩写)命名空间主页模型使用思考模型;类关键字模型扩展了model { public function export _ CSV($ filename,$ data){ header(' Content-type : text/CSV ');标题('内容-处置:附件;文件名='。$ filename);标头('缓存-控制:必须-重新验证,后检查=0,前检查=0');标题(“过期:0”);标头(' pragma : public ');回声$数据;}}奥妙就在IndexController.class.php代码最后一句的出口这里,如果不写这句,输出的超过里面有超文本标记语言源码,截图如下:
2.用表格输出超过
如下代码购买前景。服务器端编程语言(Professional Hypertext Preprocessor的缩写)
?PHP要求(' page _ header。PHP’);$ site_id=GetFset($ _ GET,' site_id ',0);$ customer_type=getifest($ _ GET,' customer_type ',0);$ DB=DatabaSe : connect($ site _ id);if($ site _ id0 $ customer _ type 0){ $ SQL=' ';$ out=$ SHORT _ NAME _ array=SITE settings : $ SITE _ SHORT _ NAME;$ short _ name=$ short _ name _ array[$ site _ id];switch($ customer _ type){ case ' 1 ' : { $ SQL=' SELECT email,CONCAT(UCASE(LEFT(firstname,1)),SUBSTRING(firstname,2))作为名字,CONCAT(UCASE(LEFT(lastname,1)),SUBSTRING(lastname,2))作为姓氏FROM customers WHERE site _ id=$ site _ id和电子邮件不是正则表达式.(avan quist)|(行星艺术)|(新星开发)|(质量保证测试).和电子邮件输入(从客户a内部连接订单b中选择电子邮件a.id=b . `客户' id '和b.is_test=0和a.site_id=$site_id)和电子邮件不输入(从'新闻稿_取消订阅'中选择电子邮件地址'其中site _ id=$ site _ id);$ RES=$ DB-查询($ SQL);$ out=' table class=' data _ table ' trthemail/ththththfirst name/ththththlastname/tr ';while($ row=MySQL _ fetch _ array($ RES)){ $ out .='trtd ' .$row['email']'/tdtd .$row['firstname']'/tdtd .$ row[' last name ']'/TD/tr;} $short_name .=' _已购买;打破;}案例" 2 " : { $ DB-query(' DROP TEMPLATE TABLE IF EXISTS tmp _ purchase;');$ DB-查询(“CREATE TEMPLATE TABLE tmp _ purchase SELECT a . email FROM customers a INNER JOIN orders b ON a . id=b . ` customer _ id ' AND b . is _ test=0 AND a . site _ id=$ site _ id;”);$ DB-查询('如果存在,删除临时表tmp _ no purchase’);$ DB-查询(“创建临时表”tmp _ no purchase SELECT email FROM customers WHERE _ site _ id=$ site _ id和电子邮件不在(从tmp _ purchase选择电子邮件);”);如果(9!=$ site _ id){ $ datatype=site settings : getpurchaseedatype($ site _ id);$ DB-查询(“插入tmp _无购买选择不同的电子邮件发件人触发_ email _ data WHERE数据类型=' $ datatype '和电子邮件不在(从tmp _ purchase选择电子邮件);”);} $sql='从tmp _采购中选择DISTINCT电子邮件,其中电子邮件不是REGEXP ' .(avan quist)|(星球艺术)|(nova developer)|(QA测试),”和电子邮件Z0 9号._ %-][电子邮件保护][Z0-9 .-] .[A-Z]{2,4}$ '且电子邮件不在(从'新闻通讯_退订'中选择电子邮件地址,其中站点_ id=$站点_ id);$ RES=$ DB-查询($ SQL);$ out=' table class=' data _ table ' trthemail/th/tr ';while($ row=MySQL _ fetch _ array($ RES)){ $ out .='trtd ' .$row['email']./TD/tr ';} $short_name .=' _非购买和注册;打破;} default: break} $out .='/table ';标题('内容类型:应用程序/vnd。ms-excel ');标题(“内容处置:文件名=$ short _ name。xls’);echo $ out退出;}?氕采购前景报告/h1表单名称='frm '方法='get '操作='购买_潜在客户。PHP ' strong选择站点:/strong选择名称=' site _ id ' id=' site _ id '选项值=' 0 '==选择站点==/选项值=' 1 ' STI/选项值=' 2 ' PA/选项值=' 3 ' CW/选项值=' 6 ' MCC/选项值=' 9 ' CB/选项值=' 4 ' STIUK/选项值='单击(function(){ if('0'==$('#site_id ')).val()| |"0"==$("# customer _ type ").val()){ alert('请选择站点和站点');返回false } })});/script这样也可以导出ecxcel文件,截图如下
依然注意最后一句退出;如果没有这一句,excel里面会有一些页面元素。
希望本文所述对大家基于thinkPHP框架的服务器端编程语言(专业超文本预处理器的缩写)程序设计有所帮助。