php mysql 导出csv excel格式文件并保存

 更新时间:2016年11月25日 16:38  点击:1727
这是一款我在自己用时写的一款利用php 导出mysql数据库的数据保存成csv文件,并提供下载,原理很简单就是把mysql数据查出来,然后以csv格式保存到一个.csv文件这样就OK了。

$times = time();
 $filename = $times.".csv"; 
 $a = "联系人,联系电话,申请时间 "; 
 
 $days = postget("days");
 
 $mktime = daystomktime($days);
 $sql = "select * from  v_tugou where ($times-times)<$mktime";
 $db = new db();
 $result = $db->query( $sql );
 $rs = $db->fetch($result,0);
 foreach($rs as $v=>$vv)
 {  
 $a.=$vv['name'].','. $vv['mo'].",";
 $a.=date('y-m-d ',$vv['times'])." ";  
 }
 //echo $a;
 $hod = fopen ($filename,"w+");
 if( fwrite($hod,$a) )
 {
  echo "生成excel文件成功,点击<a href=$filename target=_blank>右击另存为excel文档</a>";
 }
 


 /*
 数据结构
 --
-- 表的结构 `hn_tugou`
--

create table if not exists `v_tugou` (
  `id` int(4) not null auto_increment,
  `name` varchar(20) not null default '0',
  `mo` varchar(20) not null default '0',
  `times` int(4) default null,
  `ip` varchar(20) not null default '0',
  primary key  (`id`)
) engine=myisam  default charset=utf8 auto_increment=2 ;

--
-- 导出表中的数据 `hn_tugou`
--

insert into `hn_tugou` (`id`, `name`, `mo`, `times`, `ip`) values
(1, 'adsense', 'www.111cn.net', 1283241159, '192.168.0.119');

本站原创文章转载注明来自http://www.111cn.net/phper/php.html
 */

这是一款非常完整理的php连接mysql数据库哦,利用了php与mysql数据库进行连接哦,好了费话不说多了来看看这款经典的连接数据库代码是不是你想要找的吧。
 代码如下 复制代码

class mysql {
 var $linkid=null;

    function __construct($dbhost, $dbuser, $dbpw, $dbname = '', $dbcharset = 'gbk', $connect = 1) {
     $this -> connect($dbhost, $dbuser, $dbpw, $dbname, $dbcharset, $connect);
    }

    function connect($dbhost, $dbuser, $dbpw, $dbname = '', $dbcharset = 'gbk', $connect=1){
     $func = empty($connect) ? 'mysql_pconnect' : 'mysql_connect';
     if(!$this->linkid = @$func($dbhost, $dbuser, $dbpw, true)){
      $this->dbshow('can not connect to mysql!');
     } else {
      if($this->dbversion() > '4.1'){
       mysql_query( "set names gbk");
       if($this->dbversion() > '5.0.1'){
        mysql_query("set sql_mode = ''",$this->linkid);
       }
      }
     }
     if($dbname){
      if(mysql_select_db($dbname, $this->linkid)===false){
       $this->dbshow("can't select mysql database($dbname)!");
      }
     }
    }

    function select_db($dbname){
     return mysql_select_db($dbname, $this->linkid);
    }

    function query($sql){
     if(!$query=@mysql_query($sql, $this->linkid)){
      $this->dbshow("query error:$sql");
     }else{
      return $query;
     }
    }

    function getall($sql, $type=mysql_assoc){
     $query = $this->query($sql);
     while($row = mysql_fetch_array($query,$type)){
      $rows[] = $row;
     }
     return $rows;
    }

    function getone($sql, $type=mysql_assoc){
     $query = $this->query($sql,$this->linkid);
     $row = mysql_fetch_array($query, $type);
     return $row;
    }

 function fetch_array($result,$type = mysql_assoc){
  return mysql_fetch_array($result);
 }

    function affected_rows(){
     return mysql_affected_rows($this->linkid);
    }

    function num_rows(){
     return mysql_num_rows($this->linkid);
    }

    function num_fields($result){
     return mysql_num_fields($result);
    }

    function insert_id(){
     return mysql_insert_id($this->linkid);
    }

    function free_result(){
     return mysql_free_result($this->linkid);
    }

    function error(){
     return mysql_error($this->linkid);
    }

    function errno(){
     return mysql_errno($this->linkid);
    }

    function close(){
     return mysql_close($this->linkid);
    }

    function dbversion(){
     return mysql_get_server_info($this->linkid);
    }

    function dbshow($msg){
     if($msg){
      echo "error:".$msg."<br><br>";
     }else{
      echo "errno:".$this->errno()."<br>error:".$this->error();
     }
     exit;
    }

}

这是一款简单实用的php连接mysql数据库类了,只做了数据查询,返回数组集,获取新的id 取得记录行等简单的mysql数据库连接代码。
 代码如下 复制代码
class database {
 
 var $dblink;
 
 function connect($dbhost, $dbuser, $dbpw, $dbname = "") {
  $this->dblink = mysql_connect($dbhost, $dbuser, $dbpw);
  
  mysql_query("set names 'utf8'");
  mysql_query("set character_set_client=utf8");
  mysql_query("set character_set_results=utf8");
  
  if($dbname) {
   mysql_select_db($dbname, $this->dblink);
  }
 }
 
 function query($sql) {
  $result = mysql_query($sql, $this->dblink);
  return $result;
 }
 
 function fetch_array($result) {
  return mysql_fetch_array($result);
 }
 
 function insert_id() {
  $id = mysql_insert_id();
  return $id;
 }
 
 function getrow($sql) {
  $result = mysql_query($sql, $this->dblink);
  return mysql_fetch_assoc($result);
 }
 
 function getdetailrow($sql) {
  $result = mysql_query($sql, $this->dblink);
  return mysql_fetch_array($result);
 }
 //www.111cn.net
 function close() {
  mysql_close($this->dblink);
 }
}

//调用 方法

 代码如下 复制代码
$db = new database;
 $db->connect($dbhost, $dbuser, $dbpw, $dbname);
 unset($dbhost, $dbuser, $dbpw, $dbname);


?>

这里不是php与mysql的留言板程序,而是一款简单实用的php access 留言板程序哦,利用了adodb来连接access数据库哦。

*/

 代码如下 复制代码

error_reporting(0);
$conn = new com("adodb.connection");
$conn->open("driver={microsoft access driver (*.mdb)}; dbq=" . realpath("db.mdb "));
$rs=new com("adodb.recordset");

$abc = $_get["abc"]; $webn = $_post["webn"]; $name = $_post["name"]; $pws = $_post["pws"]; $newpws = $_post["newpws"];
$rs->open("select * from [web]",$conn,1,1);
$adminname = $rs->fields(1)->value;
$adminpws = $rs->fields(2)->value;
$ll = $rs->fields(3)->value;
$webname = $rs->fields(4)->value;
$rs->close();
$admincookie = $adminname;

$conn->execute("update [web] set [ll] = '$ll'+1"); //$rs->close();
?>
<!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd">
<html xmlns="http://www.111cn.net/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=gb2312" />
<title><? echo $webname ?></title>
<style type="text/css教程">
<!--
body {font-size:14px; line-height:25px; margin:10px auto; padding:10px; width:680px; border:solid #8aa 1px;}
a {color:#008; text-decoration:none;}
a:hover {color:#f00; text-decoration:underline;}
hr {color:#8aa; height:1px;}
-->
</style>
</head>

<body>
<?
if ($abc=="admin"){
 if ($name==$adminname && $pws==$adminpws){
 setcookie("admin", $admincookie, time()+3600); header("location:./");
 }else{echo "<script>alert('用户名或密码错误!');history.back();</script>";}
}

if ($abc=="exit"){
setcookie("admin", "", time()-3600); header("location:./");
}

if ($abc=="editadmin"){
 if (!$webname || !$name || !$pws){
 echo "<script>alert('留言本、用户名、原密码不能为空!');history.back();</script>";
 }
 if ($pws!=$adminpws){
 echo "<script>alert('愿密码错误!');history.back();</script>";
 }
 if($newpws!=""){
 $conn->execute("update [web] set [webname] = '$webname' , [name] = '$name' , [pws] = '$newpws'");
 $conn->close(); //$conn=null;
 echo "<script>alert('修改成功,请重新登录!');location='?abc=exit';</script>";
 }else{
 $conn->execute("update [web] set [webname] = '$webn' , [name] = '$name'");
 $conn->close(); //$conn=null;
 echo "<script>alert('修改成功!');location='./';</script>";
 }
}
?>

<b>【 <a href="./"><? echo $webname ?></a> 】</b>
<a href="">管理</a> <? if (isset($_cookie["admin"])){ ?> <a href="">修改资料</a> <a href="">安全退出</a><? ;} ?>
<? if ($abc=="user" && !isset($_cookie["admin"])){ ?>
 <form method="post" action="">
  用户名:<input name="name" type="text" value=""/>
  密码:<input name="pws" type="password" value=""/>
  <input name="add" type="submit" value="确定" />
 </form>
<? ;} ?>
<? if ($abc=="edituser"){ ?>
 <form method="post" action="">
  留言本:<input name="webn" type="text" value="<? echo $webname; ?>" size="80"/>
  <br />
  用户名:<input name="name" type="text" value="<? echo $admincookie; ?>"/>
  原密码:<input name="pws" type="password" value=""/>
  新密码:<input name="newpws" type="password" value=""/>
  <input name="add" type="submit" value="确定" />
 </form>
<? ;} ?>

<hr/>

<?
$id=$_get['id'];
$sj=date('y-m-d');
if($abc=="add"){
 $nr=$_post['nr'];
 $ip=getenv("remote_addr");
 if (!$nr){
 echo "<script>alert('留言不能为空!');history.back();</script>";
 }else{
 $conn->execute("insert into [txt] (nr,sj) values ('$nr','$sj')");
 }
 echo "<script>alert('操作成功!');location='./';</script>";
 $conn->close(); $conn=null;
}
 
if($abc=="del"){
 $conn->execute("delete from [txt] where [id]=".$id);
 $conn->close(); $conn=null; header("location:./");
}

if($abc=="edit"){
 $nr=$_post['nr'];
 $hf=$_post['hf'];
 $conn->execute("update [txt] set [nr] = '$nr' , [hf] = '$hf' where [id]=".$id);
 $conn->close(); $conn=null; header("location:./");
}
 
$zd=$_get['zd']; 
if($zd!=""){
 if($zd=="0")$zd=1; else $zd=0;
 $conn->execute("update [txt] set [zd] = '$zd' where [id]=".$id);
 $conn->close(); $conn=null; header("location:./");
}
?>
<center>
<form method="post" action="">
<textarea name="nr" cols="88" rows="8" style="line-height:25px;"></textarea><br /><br />
<input name="add" type="submit" value="发表留言" />
</form>
</center>
<hr/>


<?
//分页
$rs->open("select * from [txt] order by [zd] desc, [sj] desc",$conn,1,3);
$rs->pagesize=5;
$page=trim($_get['page']);
if($page=="" || is_numeric(intval($page))<=0){$page=1;}else if(intval($page)>$rs->pagecount){$page=$rs->pagecount;}
$page=intval($page);
 if(!$rs->eof||$rs->bof){
  $rs->absolutepage=$page; $mypagesize=$rs->pagesize; $i=$rs->recordcount()-($page-1)*$rs->pagesize; 
  while(!$rs->eof && $mypagesize>0 && $i>=$rs->recordcount()-1-$rs->pagesize*$page){
   $id = $rs->fields(0)->value;
   $nr = $rs->fields(1)->value;
   $hf = $rs->fields(2)->value;
   $sj = $rs->fields(3)->value;
   $zd = $rs->fields(4)->value;
?>

<div style="border:#eee solid 1px; background:#f8f8f8; padding:0 10px;">
<div style="float:left;">
<? if ($zd!=0) echo "【 <font color='#008800'>置顶</font> 】"; else echo "id.".$i; ?>
<? if ($_cookie["admin"]==$admincookie){ ?> 
操作:<a href=''><? if ($zd==0) echo "置顶"; else echo "取消置顶"; ?></a> |
<a href=''>修改/回复</a> |
<a href=''>删除</a>
<? ;} ?>
</div>
<div style="float:right;">
date:<? echo $sj; ?>
</div>
<div style="clear:both"></div>
</div>
<hr/>
<? if ($abc=="hf" && $id==$_get['id']){ ?>
 <form method="post" action="" id="<? echo $id ?>">
 留言:<textarea name="nr" cols="80" rows="8" style="line-height:25px;"><? echo $nr; ?></textarea><br />
 回复:<textarea name="hf" cols="80" rows="8" style="line-height:25px;"><? echo $hf; ?></textarea><br />
 操作:<input name="add" type="submit" value="回复/修改" />
 </form>
<? ;} ?> 
<div style="margin:20px;">
<?
 $nr = str_replace(" "," ".'<br/>',$nr);
 $nr = str_replace(" ",'&nbsp;',$nr);
 echo $nr."<br />";
?> 
<?
 if ($hf!=""){
  echo "<font color='#aa0000'>回复:";
  $hf = str_replace(" "," ".'<br/>',$hf);
  $hf = str_replace("  ",'&nbsp;&nbsp;',$hf);
  echo $hf."</font>";
 }
?>
</div>
<hr/>

<? $rs->movenext; $mypagesize--; $i--; } } //分页循环 ?>
<center>
留言数(<? echo $rs->recordcount(); ?>)
<a href="">首页</a>
<a href="">上页</a>
第<? echo $page;?>/<? echo $rs->pagecount;?>页
<a href="">下页</a>
<a href="">尾页</a>&nbsp;
访问量(<? echo $ll ?>)
</center>
<? $rs->close(); $rs=null; $conn->close(); $conn=null; ?>

</body>
</html>

数据库结构
id name pws ll webname
1 abc abc 4 abc 留言本 php+acc

 代码如下 复制代码

$qh=mysql_query("select count(*) as rcnt from table where your_condition_here order by whatever");
$data=mysql_fetch_array($qh);
$nr=$data["rcnt"];
//判断偏移量参数是否传递给了脚本,如果没有就使用默认值0

if (empty($offset))
{
$offset=0;
}

//查询结果(这里是每页20条,但你自己完全可以改变它)
$result=mysql_query("select id,name,phone from table where your_condition_here order by whatever limit $offset, 20");

//显示返回的20条记录
while ($data=mysql_fetch_array($result))
{

//换成你用于显示返回记录的代码

}

//下一步,要写出到其它页面的链接
if(!$offset) //如果偏移量是0,不显示前一页的链接
{
$preoffset=$offset-20;
print "<a href="$php_self?offset=$preoffset">前一页</a>&nbsp; ";
}

//计算总共需要的页数
$pages=ceil($nr/20); //$pages变量现在包含所需的页数

for ($i=1; $i <= $pages; $i++)
{
$newoffset=20*$i;
print "<a href="$php_self?offset=$newoffset">$i</a>&nbsp; ";
}

//检查是否是最后一页
if ($pages!=0 && ($newoffset/20)!=$pages)
{
print "<a href="$php_self?offset=$newoffset">下一页</a>&nbsp; ";
}

[!--infotagslink--]

相关文章

  • php读取zip文件(删除文件,提取文件,增加文件)实例

    下面小编来给大家演示几个php操作zip文件的实例,我们可以读取zip包中指定文件与删除zip包中指定文件,下面来给大这介绍一下。 从zip压缩文件中提取文件 代...2016-11-25
  • Jupyter Notebook读取csv文件出现的问题及解决

    这篇文章主要介绍了JupyterNotebook读取csv文件出现的问题及解决,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2023-01-06
  • C#从数据库读取图片并保存的两种方法

    这篇文章主要介绍了C#从数据库读取图片并保存的方法,帮助大家更好的理解和使用c#,感兴趣的朋友可以了解下...2021-01-16
  • Photoshop打开PSD文件空白怎么解决

    有时我们接受或下载到的PSD文件打开是空白的,那么我们要如何来解决这个 问题了,下面一聚教程小伙伴就为各位介绍Photoshop打开PSD文件空白解决办法。 1、如我们打开...2016-09-14
  • C#操作本地文件及保存文件到数据库的基本方法总结

    C#使用System.IO中的文件操作方法在Windows系统中处理本地文件相当顺手,这里我们还总结了在Oracle中保存文件的方法,嗯,接下来就来看看整理的C#操作本地文件及保存文件到数据库的基本方法总结...2020-06-25
  • 解决python 使用openpyxl读写大文件的坑

    这篇文章主要介绍了解决python 使用openpyxl读写大文件的坑,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-13
  • C#实现HTTP下载文件的方法

    这篇文章主要介绍了C#实现HTTP下载文件的方法,包括了HTTP通信的创建、本地文件的写入等,非常具有实用价值,需要的朋友可以参考下...2020-06-25
  • SpringBoot实现excel文件生成和下载

    这篇文章主要为大家详细介绍了SpringBoot实现excel文件生成和下载,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-02-09
  • php无刷新利用iframe实现页面无刷新上传文件(1/2)

    利用form表单的target属性和iframe 一、上传文件的一个php教程方法。 该方法接受一个$file参数,该参数为从客户端获取的$_files变量,返回重新命名后的文件名,如果上传失...2016-11-25
  • php批量替换内容或指定目录下所有文件内容

    要替换字符串中的内容我们只要利用php相关函数,如strstr,str_replace,正则表达式了,那么我们要替换目录所有文件的内容就需要先遍历目录再打开文件再利用上面讲的函数替...2016-11-25
  • PHP文件上传一些小收获

    又码了一个周末的代码,这次在做一些关于文件上传的东西。(PHP UPLOAD)小有收获项目是一个BT种子列表,用户有权限上传自己的种子,然后配合BT TRACK服务器把种子的信息写出来...2016-11-25
  • AI源文件转photoshop图像变模糊问题解决教程

    今天小编在这里就来给photoshop的这一款软件的使用者们来说下AI源文件转photoshop图像变模糊问题的解决教程,各位想知道具体解决方法的使用者们,那么下面就快来跟着小编...2016-09-14
  • C++万能库头文件在vs中的安装步骤(图文)

    这篇文章主要介绍了C++万能库头文件在vs中的安装步骤(图文),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-02-23
  • Zend studio文件注释模板设置方法

    步骤:Window -> PHP -> Editor -> Templates,这里可以设置(增、删、改、导入等)管理你的模板。新建文件注释、函数注释、代码块等模板的实例新建模板,分别输入Name、Description、Patterna)文件注释Name: 3cfileDescriptio...2013-10-04
  • C#路径,文件,目录及IO常见操作汇总

    这篇文章主要介绍了C#路径,文件,目录及IO常见操作,较为详细的分析并汇总了C#关于路径,文件,目录及IO常见操作,具有一定参考借鉴价值,需要的朋友可以参考下...2020-06-25
  • php文件上传你必须知道的几点

    本篇文章主要说明的是与php文件上传的相关配置的知识点。PHP文件上传功能配置主要涉及php.ini配置文件中的upload_tmp_dir、upload_max_filesize、post_max_size等选项,下面一一说明。打开php.ini配置文件找到File Upl...2015-10-21
  • C#使用StreamWriter写入文件的方法

    这篇文章主要介绍了C#使用StreamWriter写入文件的方法,涉及C#中StreamWriter类操作文件的相关技巧,需要的朋友可以参考下...2020-06-25
  • ant design中upload组件上传大文件,显示进度条进度的实例

    这篇文章主要介绍了ant design中upload组件上传大文件,显示进度条进度的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-10-29
  • php实现文件下载实例分享

    举一个案例:复制代码 代码如下:<?phpclass Downfile { function downserver($file_name){$file_path = "./img/".$file_name;//转码,文件名转为gb2312解决中文乱码$file_name = iconv("utf-8","gb2312",$file_name...2014-06-07
  • 查找php配置文件php.ini所在路径的二种方法

    通常php.ini的位置在:复制代码 代码如下:/etc目录下或/usr/local/lib目录下。如果你还是找不到php.ini或者找到了php.ini修改后不生效(其实是没找对),请使用如下办法:1.新建php文件,写入如下代码复制代码 代码如下:<?phpe...2014-05-31