PHP连接mysql数据库导出csv文件

我的数据库设计为以下这样:

161313_yj7w_1447974.png

我的程序代码为:

<?php
    $action = $_GET['action'];
    if ($action=='export') { //导出CSV 
        $link = mysql_connect('localhost','root','123456') or die(mysql_error());
        mysql_query('set names utf8');
        mysql_select_db('stu');
        $result = mysql_query("select * from student order by id asc"); 
        $str = "姓名,性别,年龄\n"; 
        //$str = iconv('utf-8','gb2312',$str);
            while($row=mysql_fetch_array($result)){ 
                $name = iconv('utf-8','gb2312',$row['name']); //中文转码 
                $gender = iconv('utf-8','gb2312',$row['gender']);                 
                $str .= $name.",".$gender.",".$row['age']."\n"; //用引文逗号分开 
            } 
        $filename = date('Ymd').'.csv'; //设置文件名 
        export_csv($filename,$str); //导出 
    } 

    function export_csv($filename,$data) { 
        header("Content-type:text/csv"); 
        header("Content-Disposition:attachment;filename=".$filename); 
        header('Cache-Control:must-revalidate,post-check=0,pre-check=0'); 
        header('Expires:0'); 
        header('Pragma:public'); 
        echo $data; 
        exit;
        
    } 
?>

<input type="button" class="btn" value="导出CSV文件">
<script language="JavaScript" src="../jquery/jquery-1.4.2.min.js" type="text/javascript">
</script>
<script type="text/javascript">
$(".btn").click(function(){
    // var year = $("#year option:selected").val();
    // var month = $("#month option:selected").val();
    // url = '&year='+year+'&month='+month;
    window.location.href = 'csv.php?action=export';
})
</script>

最后实现的效果为:

161535_yaoG_1447974.png

总结:这里之所以选择后缀名为".csv"格式的是因为它所存储内容是不限制的,可以存无数行;而“.xls”后缀名的文件最多只能存65535行,这个根据具体应用环境而定,这个就是两种格式不一样的地方!

转载于:https://my.oschina.net/u/1447974/blog/199620

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值