PHP鏈接mysql數據庫導出csv文件

個人數據庫設計爲如下這樣:javascript

個人程序代碼爲:php

<?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>

最後實現的效果爲:java

總結:這裏之因此選擇後綴名爲".csv"格式的是由於它所存儲內容是不限制的,能夠存無數行;而「.xls」後綴名的文件最多隻能存65535行,這個根據具體應用環境而定,這個就是兩種格式不同的地方!
mysql

相關文章
相關標籤/搜索