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

我试图查询一个MySQL数据库,并显示在一个表中的数据。我现在想要把表,并使一个button,允许您将其导出到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(); ?> 

您的代码包含以下声明:

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

这是将string连接到现有variables$data 。 但是,不存在这样的variables。 你应该在你的代码的顶部附近添加一个地方:

 $data = ""; 

初始化$datavariables。

因为你永远不会初始化$datavariables。

放:

 $data = ''; 

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