2013-12-10 27 views
0

導出數據庫文件是我使用php將我的數據庫導出爲ex​​cel的代碼。它的工作,但它給出了錯誤的輸出。它不會給我的數據庫的輸出,而只是html設計/腳本。我怎麼解決這個問題?請任何幫助。謝謝。在excel中使用php

<?php 
if (isset($_POST['download'])) 

{ 

$dbhost = "localhost"; 
$dbname = "copylandia"; 
$dbuser = "root"; 
$dbpass = ""; 
$dataname = "web-ata"; 
$tablename = "user"; 
$fields="`number`, initial, fname, lname, mname, emailadd, username, password, `group`, position, `level1`, `level2`, `level3`, `level4`, `level5`, `level6`, `level7`"; 


$datestamp = date("d-m-Y"); 
$db = mysql_connect($dbhost,$dbuser,$dbpass) or die (mysql_error()); 

mysql_select_db($dbname); 

$query = ("select $fields from $tablename"); 
$result = mysql_query($query) or die (mysql_error()); 

$myarray = array(); 

while ($row = mysql_fetch_array($result,MYSQL_NUM)) 
{ 
$myarray[] = implode("\t", $row); 
} 

$myarray = implode("\r\n",$myarray); 

$filename = "$dataname.$datestamp.xls"; 

header("Content-Disposition:attachment;filename=$filename"); 
header("Content-Type:application/vnd.ms-excel"); 

echo $array; 
} 
?> 
+0

你在迴應'$ array' - 那個變量集在哪裏?另外,從變量名稱來看,它是一個數組。你不能'回顯'一個數組。 – Ryan

+1

你沒有'<?php'打開標籤,所以PHP解釋器從不首先啓動。 –

+0

你說過把'echo $ array;'改成'echo $ myarray;',但是我說你仍然不能'echo'一個'array' – Ryan

回答

-1

使用一些PHP庫創建excel文件。 phpexcel

在你的代碼可以使用這樣

$filename = "$dataname.$datestamp.xls"; 

header("Content-Disposition:attachment;filename=$filename"); 
header("Content-Type:application/vnd.ms-excel"); 

echo implode("\r\n",$myarray); 
exit; 
+0

這不是OP問題的答案。 – Ryan

+0

@Stanyer我知道建議一個圖書館不是一個答案。但這是創建excelsheets的更好方法。 –

+0

我將它從「echo $ array」更改爲「echo $ myarray」。但它仍然具有相同的html設計/腳本輸出。 – user3064692

0

無論你切出部分腳本這是有關這個問題 - 或者你忘了使用PHP代碼分隔符(<?php ...)。

您是通過瀏覽器和網絡服務器還是從命令行調用腳本?以這種方式訪問​​時,PHP腳本通常能在您的機器上工作嗎?