将mysql html表导出为ex​​cel文件

时间:2013-12-24 08:00:31

标签: php mysql excel

我正在尝试查询mysql数据库并在表中显示数据。我现在想要获取表并创建一个按钮,允许您将其导出到excel文件。现在您可以导出到excel,但是它显示error Notice: Undefined variable: data

以下是我的代码:

<?php
$mysql_hostname = "localhost";
$mysql_user = "root";
$mysql_password = "";
$mysql_database = "export";
$bd = mysql_connect($mysql_hostname, $mysql_user, $mysql_password) or die("Could not connect database");
mysql_select_db($mysql_database, $bd) or die("Could not select database");

$values =mysql_query( "SELECT name,email,phone,nationality,dob FROM users order by id");

$header = "Name" . "\t";
$header .= "Email" . "\t";
$header .= "Phone" . "\t";
$header .= "Nationality" . "\t";
$header .= "DOB" . "\t";

while( $row = mysql_fetch_assoc($values)){
$row1 = array();


$row1[] = $row['name'];
$row1[] = $row['email'];
$row1[] = $row['phone'];
$row1[] = $row['nationality'];
$row1[] = $row['dob'];

$data .= join("\t", $row1)."\n";
   }
header("Content-type: application/x-msdownload");
header("Content-Disposition: attachment; filename=expot.xls");
header("Pragma: no-cache");
header("Expires: 0");
print "$header\n$data"; 
exit(); 
?>

2 个答案:

答案 0 :(得分:3)

因为您从不初始化$data变量。

把:

$data = '';

在代码的开头,在while循环之前。

答案 1 :(得分:2)

您的代码包含声明:

$data .= join("\t", $row1)."\n";

这是您将字符串连接到现有变量$data的位置。但是,不存在这样的变量。您应该在代码顶部附近添加一些内容:

$data = "";

初始化$data变量。