php生成mysql的数据字典,PHP使用PHPExcel删除Excel单

作者: 新金沙平台  发布:2019-07-12

把mysql数据库生成数据字典,直接可用便于查看数据库表、字段,做一个数据字典是很有必要的,下面只需要简单更改下配置就可以用了,样式也是挺好的。

/**
* @Author:   HTL
* @Description: 移出单元列
* @objPHPExcel: phpexecel object
* @remove_columns:要移出的列
*/
function _remove_column($objPHPExcel,$remove_columns){
    if(!$objPHPExcel
      || !is_object ($objPHPExcel)
      || !$remove_columns
      || !is_array($remove_columns)
      || count($remove_columns)<=0) return ;
    //单元格模板值,用于匹配要删除的列(在excel模板第一列)
    $cell_val = '';
    //单元格总列数
    $highestColumm = $objPHPExcel->getActiveSheet()->getHighestColumn();
    for ($column = 'A'; $column <= $highestColumm;) {
      //列数是以A列开始
      $cell_val = $objPHPExcel->getActiveSheet()->getCell($column."1");
      $cell_val = preg_replace("/[s{}]/i","", $cell_val);
      //移出没有权限导出的列
      //移出后column不能加1,因为当前列已经移出加1后会导致删除错误的列
      //此问题浪费了几十分钟
      if(strlen($cell_val)>0 && in_array($cell_val,$remove_columns))
      {
        $objPHPExcel->getActiveSheet()->removeColumn( $column);
      }
      else
      {
        $column  ;
      }
    }
}
//example
//导入PHPExcel类
vendor("PHPExcel.PHPExcel");
$filepath = './data/upload/temp.xlsx';
$objReader = PHPExcel_IOFactory::createReader('Excel2007');
$objPHPExcel = $objReader->load($filepath);
$this->_remove_column($objPHPExcel,array("age","address"));

在PHP中,while循环语句如下:

<?php 
header('content-type:text/html;charset=utf-8'); 
define('DB_HOST','localhost'); 
define('DB_USER','root'); 
define('DB_PASS','root'); 
define('DB_NAME','test'); 
define('DB_PORT',3306); 
define('DB_CHAR','utf8'); 
define('APPNAME',''); 
$conn=mysql_connect(DB_HOST.':'.DB_PORT,DB_USER,DB_PASS); 
mysql_select_db(DB_NAME); 
mysql_query('set names ' . DB_CHAR); 
$sql="SHOW TABLE STATUS FROM " . DB_NAME; 
$result=mysql_query($sql); 
$array=array(); 
while($rows=mysql_fetch_assoc($result)){ 
$array[]=$rows; 
} 
// table count 
$tab_count = count($array); 
echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="zh"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>'.APPNAME.'--数据字典</title> 
<style type="text/css"> 
  table caption, table th, table td { 
    padding: 0.1em 0.5em 0.1em 0.5em; 
    margin: 0.1em; 
    vertical-align: top; 
  } 
  th { 
    font-weight: bold; 
    color: black; 
    background: #D3DCE3; 
  } 
  table tr.odd th, .odd { 
    background: #E5E5E5; 
  } 
  table tr.even th, .even { 
    background: #f3f3f3; 
  } 
  .db_table{ 
    border-top:1px solid #333; 
  } 
  .title{font-weight:bold;} 
</style> 
</head> 
<body> 
<div style="text-align:center;background:#D3DCE3;font-size:19px;"> 
  <b>'.APPNAME.'--数据字典</b> 
</div> 
<div style="background:#f3f3f3;text-align:center;">(注:共'.$tab_count.'张表,按ctrl F查找关键字)</div>'."n"; 
for($i=0;$i<$tab_count;$i  ){ 
echo '<ul type="square">'."n"; 
echo ' <li class="title">'; 
echo ($i 1).'、表名:[' . $array[$i]['Name'] . ']   注释:' . $array[$i]['Comment']; 
echo '</li>'."n"; 
//查询数据库字段信息 
$tab_name = $array[$i]['Name']; 
$sql_tab='show full fields from `' . $array[$i]['Name'].'`'; 
$tab_result=mysql_query($sql_tab); 
$tab_array=array(); 

while($r=mysql_fetch_assoc($tab_result)){ 
  $tab_array[]=$r; 
} 
//show keys 
$keys_result=mysql_query("show keys from `".$array[$i]['Name'].'`',$conn); 
$arr_keys=mysql_fetch_array($keys_result); 
  echo '<li style="list-style: none outside none;"><table border="0" class="db_table" >'; 
  echo '<tr class="head"> 
    <th style="width:110px">字段</th> 
    <th>类型</th> 
    <th>为空</th> 
    <th>额外</th> 
    <th>默认</th> 
    <th style="width:95px">整理</th> 
    <th>备注</th></tr>'; 
  for($j=0;$j<count($tab_array);$j  ){ 
    $key_name=$arr_keys['Key_name']; 
    if($key_name="PRIMARY"){ 
      $key_name='主键('.$key_name.')'; 
    } 
    $key_field=$arr_keys['Column_name']; 
    if ( $tab_array[$j]['Field']==$key_field){ 
      $key_value="PK"; 
    }else{ 
      $key_value=""; 
    } 
    echo '    <tr class="'.($j%2==0?"odd":"even").'">'."n"; 
    echo '     <td>' . $tab_array[$j]['Field'] . '</td>'."n"; 
    echo '     <td>' . $tab_array[$j]['Type'] . '</td>'."n"; 
    echo '     <td>' . ($key_value!=''?$key_value:$tab_array[$j]['Null']) . '</td>'."n"; 
    echo '     <td>' . $tab_array[$j]['Extra'] . '</td>'."n"; 
    echo '     <td>' . $tab_array[$j]['Default'] . '</td>'."n"; 
    echo '     <td>' . $tab_array[$j]['Collation'] . '</td>'."n"; 
    echo '     <td>' . ($key_value!=''?$key_name:$tab_array[$j]['Comment']) . '</td>'."n"; 
    echo '    </tr>'."n"; 
  } 
  echo ' </table></li>'."n"; 
  echo '</ul>'."n"; 

} 
echo '</body>'."n"; 
echo '</html>'."n"; 

需求是这样的:

首先判断某个条件是否符合(条件返回值是否为TRUE),若符合则执行任务,执行完毕任务,再判断条件是否满足要求,符合则重复执行此任务,否则结束任务。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php操作office文档技巧总结(包括word,excel,access,ppt)》、《PHP数组(Array)操作技巧大全》、《php排序算法总结》、《PHP常用遍历算法与技巧总结》、《PHP数据结构与算法教程》、《php程序设计算法总结》、《PHP数学运算技巧总结》、《php正则表达式用法总结》、《PHP运算与运算符用法总结》、《php字符串(string)用法总结》及《php常见数据库操作技巧汇总》

通过条件判断,若返回值为布尔值TRUE,则执行任务A,若返回值为FALSE,则执行任务B。

您可能感兴趣的文章:

  • PHP实现获取并生成数据库字典的方法
  • ThinkPHP框架实现的MySQL数据库备份功能示例
  • PHP备份/还原MySQL数据库的代码
  • php实现mysql数据库备份类
  • 使用PHP备份MYSQL数据的多种方法
  • php MYSQL 数据备份类
  • php实现MySQL数据库备份与还原类实例
  • 使用php自动备份数据库表的实现方法
  • 用PHP实现XML备份Mysql数据库
  • PHP实现生成数据字典功能示例

图片 1

while与do…while循环语句的区别是,while先判断条件是否成立,后执行循环,do...while先执行一次任务,再判断是否继续执行循环,也就是说do...while至少会执行一次任务。当条件为FALSE时,while中的任务会一次也不执行,do...while中的任务会执行1次.

有一个系统仅公司内部和外部经销商使用,在一个导出功能中公司内部员工跟外部经销商导出的列是不一样的(某些数据是不能提供给经销商的)
因为导出的数据都是一样的(某些列外数据外部没有)因此并没有单独处理,而是统一生成然后根据不同的账户再删除没有权限的列

首先判断条件,若条件的返回值为条件值一,则执行任务一,若条件返回的值为条件值二,则执行任务二,若条件的返回值既不是条件值一也不是条件值二,则执行 默认任务。break的作用是结束switch,使用 switch 语句可以避免冗长的 “if..else if..else”代码块。

运行效果如下图所示:

 <?php
 foreach (数组 as 下标 => 值){
 //执行的任务
 }
 ?>

本文实例讲述了PHP使用PHPExcel删除Excel单元格指定列的方法。分享给大家供大家参考,具体如下:

条件结构之switch…case…

您可能感兴趣的文章:

  • PHPExcel合并与拆分单元格的方法
  • PHPExcel简单读取excel文件示例
  • PHPExcel读取EXCEL中的图片并保存到本地的方法
  • Yii中使用PHPExcel导出Excel的方法
  • ThinkPHP基于PHPExcel导入Excel文件的方法
  • php中使用PHPExcel读写excel(xls)文件的方法
  • ThinkPHP使用PHPExcel实现Excel数据导入导出完整实例
  • phpexcel导入excel数据使用方法实例
  • Codeigniter PHPExcel实现导出数据到Excel文件
  • 使用PHPExcel操作Excel用法实例分析
  • PHPExcel内存泄漏问题解决方法
  • 使用phpexcel类实现excel导入mysql数据库功能(实例代码)
<?php
if(条件一){
   //分配服务器干的任务A
}else if(条件二){
   //分配服务器干的任务B
}
?>

希望本文所述对大家PHP程序设计有所帮助。

<?php
if(条件){
   //分配服务器干的任务A
}else{
   //分配服务器干的任务B
}
?>
<?php
 do{ 
   //执行任务
 }while(条件)
 ?>

PHP结构语句顺序结构

PHP中循环结构之foreach循环语句

在PHP中还有一种循环语句,for循环语句结构如下:

本文由新金沙平台发布于新金沙平台,转载请注明出处:php生成mysql的数据字典,PHP使用PHPExcel删除Excel单

关键词: 新金沙平台 4166am金沙