2014-02-17 3 views
0

나는 시트를 능가하기 위해 mysql 데이터베이스를 다운로드해야한다.PHP에서 mysql 데이터베이스에서 excel 시트를 다운로드

Notice : 정의되지 않은 변수 : 27 행의 C : \ xampp \ htdocs \ admissions \ excel \ excel2.php에있는 데이터 Notice : C : \ xampp \에있는 정의되지 않은 변수 : 헤더는 다음과 같습니다. htdocs \ admissions \ excel \ excel2.php on line 12.

헤더와 데이터에 정의해야 할 내용과 위치. 다음은 여기에 추가 시작 ___before___ 빈 문자열로`$의 data` 정의 코드

<?php 
ob_start(); 
mysql_connect('localhost','root',''); 
mysql_select_db('sjbhsbg'); 
$sql = "SELECT * from admissions"; 
$res = mysql_query($sql) or die(); 
$count = mysql_num_fields($res); 

// fetch table header from database 
$header = ''; 
for ($i = 0; $i < $count; $i++){ 
    $header .= mysql_field_name($res, $i)."\t"; 
    } 

// fetch data each row, store on tabular row data 
while($row = mysql_fetch_row($res)){ 
    $line = ''; 
    foreach($row as $value){ 
    if(!isset($value) || $value == ""){ 
    $value = "\t"; 
    }else{ 
    $value = str_replace('"', '""', $value); 
    $value = '"' . $value . '"' . "\t"; 
    } 
    $line .= $value; 
    } 
    $data .= trim($line)."\n"; 
    $data = str_replace("\r", "", $data); 
    } 

$name=date('d-m-y').'-list.xls'; 
header("Content-type:application/vnd.ms-excel;name='excel'"); 
header("Content-Disposition: attachment; filename=$name"); 
header("Pragma: no-cache"); 
header("Expires: 0"); 

// Output data 
echo $header."\n\n".$data; 
?> 
+0

입니다 –

답변

0
$query="select * from admissions"; 
$result = mysql_query($query) or die('Please Choose any one of the fields to export'); 
    //header('Content-Disposition: attachment;filename=export.csv'); 
$filename = $title.date("d-m-Y",time()); 
header('Content-Type: text/csv'); 
header("Content-disposition: csv" . date("Y-m-d") . ".csv"); 
header("Content-disposition: filename=".$filename.".csv"); 
$row = mysql_fetch_assoc($result); 
if ($row) { 
echocsv(array($title)); 
echo "\r\n"; 
    echocsv(array_keys($row)); 
} 
while ($row) { 
    echocsv($row); 
    $row = mysql_fetch_assoc($result); 
} 
function echocsv($fields) 
{ 
    $separator = ''; 
    foreach ($fields as $field) { 
     if (preg_match('/\\r|\\n|,|"/', $field)) { 
      $field = '"' . str_replace('"', '""', $field) . '"'; 
     } 
     echo $separator . $field; 
     $separator = ','; 
    } 
    echo "\r\n"; 
} 
관련 문제