后端开发|php教程
php数据转换为html table或者csv文件
后端开发-php教程
应用场景:游戏中的很多业务已经迁移到了redis上,但是redis中的数据在运维层面很难展现,通过php-redis将redis中的set或者hash转换为php中的array,然后映射为html中的table
手机保险系统源码php,ubuntu加密命令,tomcat7 模块安装,爬虫用于军校,深圳php程序员薪资,塘厦seo关键词优化价格lzw
下载adminroid源码,升级ubuntu u盘,tomcat启动时运行,怎么全网爬虫,本地yum源 安装php,seo官服lzw
具体展现:
站长站下载一个小说网站源码,ubuntu安装显卡密钥,tomcat可以上线使用吗,爬虫技术证书,学习php程序员外包,平台seo诊断lzw
主要设计点:table的基本单位是单元格row_field_node,多个row_field_node组成row_data, tile + 多个row_data = table。因为每个单元格都可能有对应的超链接响应,
所以row_field_node数据结构是这样的:
class row_field_node{ public $data; //显示的数据 public $action; //对应的超链接 public $param;//超链接需要传入的参数 public $target; //超链接要展现在那个frame中 public function __construct($data, $action, $param, $target) {$this->data= $data;$this->action = $action;$this->param = $param;$this->target = $target; }}
array中的数组与hash可以输出为html table或者是csv文件,具体实现见代码:
data = $data;$this->action = $action; $this->param = $param;$this->target = $target;}}class xtable{private $title_list,$row_list,$fonts,$table_tag;public function __construct(){$this->title_list=array();// strings with titles for first row $this->row_list=array();// data to show on cells$this->fonts=array("#EEEEEE","#CCEEEE");// background colors for odd and even rows$this->table_tag=""; // extra html code for table tag}public function set_table_tag($table_tag) // add some html code for the tag table{$this->table_tag=$table_tag;}public function background($fonts) {if (is_array($fonts)) {$this->fonts=$fonts; }else{ $this->fonts=array($fonts,$fonts);}}public function addrow($row_data) {$this->row_list[]=$row_data;}public function hash_output($data){$this->title_list=array("field", "value");foreach($data as $key=> $value){$row_data = array();$field_data = new row_field_node($key, "", "", "");array_push($row_data, $field_data);$field_data = new row_field_node($value, "", "", "");array_push($row_data, $field_data);$this->addrow($row_data);}return $this->html();}public function set_output($title, $data, $desc = \){$this->title_list = $title;$this->row_list = $data;echo "total:".count($data). .$desc . "
";return $this->html();}public function html(){$cfondos=$this->fonts;//output title$output_content="
",$this->table_tag,$output_content,$table_row_content);}public function csv_output($title, $data){$this->title_list = $title;$this->row_list = $data;echo "total:".count($data)."
";return $this->csv();}public function csv(){$file_name = time(0).".rar";$fp = fopen($file_name, w);$t_count=count($this->title_list);//start outputing data rows$row_count=count($this->row_list);$file_data = "";$csv_row_data = ""; for($t_idx = 0; $t_idx title_list[$t_idx];}$file_data = $file_data.$csv_row_data."\n";for($row_idx = 0; $row_idx row_list[$row_idx];$col_count = count($line_data_list);if($col_count != $t_count){echo "row field count not match title count|col:".$col_count."|title:".$t_count;exit;}$csv_row_data = "";for($col_idx = 0; $col_idx data;}$file_data = $file_data.$csv_row_data."\n";}fwrite($fp, $file_data);Global $domain_name;echo "
csvfile:$file_name";}}?>