【PHP学习】-MySQL数据库数据快速生成表格

【PHP学习】-MySQL数据库数据快速生成表格

wpbkj
2021-08-03 / 976 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2023年07月27日,已超过245天没有更新,若内容或图片失效,请发送邮件至admin@wpbkj.com。

教程向(全代码在文末)

我实在是太懒了,所以一直拖到现在才更新,后续几天,坚持日更
本教程将给大家提供一种简单的利用PHP将数据库数据导出到excel表格的方法,不用外接excel拓展

首先来看功能演示gif

功能演示

其实这个原理很简单,就是利用PHP里面的header() 函数向客户端发送原始的 HTTP 报头,把网页改为excel格式就好了,代码如下:

header('Content-type: text/html; charset=utf-8');
header("Content-type:application/vnd.ms-excel;charset=UTF-8"); 
header("Content-Disposition:filename=admindata_".$time.".xls");//在这里设置文件名修改'admindata'将其换成你想要的文件名,后面的time变量会在文件名的后面加上一串时间,如果不想要,删除' _".$time." '即可

包括文件名也在这里设置,按照注释进行修改就行了

这个文件首先就是建立与MySQL的链接:

//建立数据库连接;
 $conn=mysqli_connect("数据库地址","数据库用户名","数据库密码","数据库名"); 
//设置字符为utf-8,@抑制字符变量的声明提醒。
@ mysqli_set_charset ($conn,utf8);
@ mysqli_query($conn,utf8);
//如果连接错误显示错误原因。
if (mysqli_connect_errno($conn)) 
{ 
    echo "连接 MySQL 失败: " . mysqli_connect_error(); 
}

一个很简单的MySQLi函数利用

之后查询出数据库中的所有数据:

$result=mysqli_query($conn,"SELECT * FROM 数据表名");

可以根据需要的不同来进行更改

后面就是主要的数据操作,其实和html建立表格差不多:

    echo "<table>";//建立表格
    echo "后台管理员信息";//第一行标题
    echo "</table>";//第一行结束
    echo "<table>";//第二行开始
    echo "<tr>";//下面就是依照数据表中有的内容进行设置
    echo "<th>ID</th>";
    echo "<th>用户名</th>";
    echo "<th>QQ</th>";
    echo "<th>性别</th>";
    echo "<th>真实姓名</th>";
    echo "<th>邮箱</th>";
    echo "<th>电话号码</th>";
    echo "</tr>";//如果有更多的数据,可以继续依照上面格式进行添加
    echo "</table>";//第二行结束
    while($row=mysqli_fetch_array($result)){//循环为变量赋值及输出数据
/*这里进行数据分离,将数据表中的数据一一对应向不同data变量赋值*/
        $data1 = $row["ID"];
        $data2 = $row["username"];
        $data4 = $row["QQ"];
        $data5 = $row["sex"];
        $data6 = $row["truename"];
        $data7 = $row["email"];
        $data8 = $row["tel"];
        

        echo "<table>";//下面为表格的数据内容,注意这里的变量data*要与第二行设置相对应
        echo "<tr>";
            echo "<td>$data1</td>";
            echo "<td>$data2</td>";
            echo "<td>$data4</td>";
            echo "<td>$data5</td>";
            echo "<td>$data6</td>";
            echo "<td>$data7</td>";
            echo "<td>$data8</td>";
        echo "</tr>";
        echo "</table>";
    }

具体内容及相关修改操作可以看注释

当你把这些都配置完之后就可以直接访问这个php文件,然后会自动弹出下载框

完全代码:

<?php
//建立数据库连接;
 $conn=mysqli_connect("数据库地址","数据库用户名","数据库密码","数据库名"); 
//设置字符为utf-8,@抑制字符变量的声明提醒。
@ mysqli_set_charset ($conn,utf8);
@ mysqli_query($conn,utf8);
//如果连接错误显示错误原因。
if (mysqli_connect_errno($conn)) 
{ 
    echo "连接 MySQL 失败: " . mysqli_connect_error(); 
}
    $time=date('YmdHis', time());
    ob_end_clean();
    header('Content-type: text/html; charset=utf-8');
    header("Content-type:application/vnd.ms-excel;charset=UTF-8"); 
    header("Content-Disposition:filename=admindata_".$time.".xls");//在这里设置文件名修改'admindata'将其换成你想要的文件名,后面的time变量会在文件名的后面加上一串时间,如果不想要,删除' _".$time." '即可
    $result=mysqli_query($conn,"SELECT * FROM 数据表名");
    echo "<table>";//建立表格
    echo "后台管理员信息";//第一行标题
    echo "</table>";//第一行结束
    echo "<table>";//第二行开始
    echo "<tr>";//下面就是依照数据表中有的内容进行设置
    echo "<th>ID</th>";
    echo "<th>用户名</th>";
    echo "<th>QQ</th>";
    echo "<th>性别</th>";
    echo "<th>真实姓名</th>";
    echo "<th>邮箱</th>";
    echo "<th>电话号码</th>";
    echo "</tr>";//如果有更多的数据,可以继续依照上面格式进行添加
    echo "</table>";//第二行结束
    while($row=mysqli_fetch_array($result)){//循环为变量赋值及输出数据
/*这里进行数据分离,将数据表中的数据一一对应向不同data变量赋值*/
        $data1 = $row["ID"];
        $data2 = $row["username"];
        $data4 = $row["QQ"];
        $data5 = $row["sex"];
        $data6 = $row["truename"];
        $data7 = $row["email"];
        $data8 = $row["tel"];
        

        echo "<table>";//下面为表格的数据内容,注意这里的变量data*要与第二行设置相对应
        echo "<tr>";
            echo "<td>$data1</td>";
            echo "<td>$data2</td>";
            echo "<td>$data4</td>";
            echo "<td>$data5</td>";
            echo "<td>$data6</td>";
            echo "<td>$data7</td>";
            echo "<td>$data8</td>";
        echo "</tr>";
        echo "</table>";
    }
?>

有问题的话,邮箱联系哦 admin@wpbkj.com

9
知识共享许可协议
MySSL 安全签章
TrustAsia 安全签章