2017-06-03 1 views
0

データベース内のデータをExcelにエクスポートする必要がありますが、2つの同じエントリがある場合のように重複する日付を避けたい場合は、1つだけを印刷してください。excelでエクスポート中に重複したデータを印刷できないのはなぜですか?

これは私が

This is what I am getting

を取得していますものですこれは、私がExcelでエクスポート

This is what I need

必要とするものです。

<?php 

$DB_Server = "localhost"; 
$DB_Username = "root"; 
$DB_Password = '';    
$DB_DBName = "gst";   
$DB_TBLName = "form";  
$filename = "data";   

$sql = "Select * from $DB_TBLName"; 
$Connect = @mysql_connect($DB_Server, $DB_Username, $DB_Password) or die("Couldn't connect to MySQL:<br>" . mysql_error() . "<br>" . mysql_errno()); 

$Db = @mysql_select_db($DB_DBName, $Connect) or die("Couldn't select database:<br>" . mysql_error(). "<br>" . mysql_errno()); 

$result = @mysql_query($sql,$Connect) or die("Couldn't execute query:<br>" . mysql_error(). "<br>" . mysql_errno());  
$file_ending = "xls"; 

header("Content-Type: application/xls");  
header("Content-Disposition: attachment; filename=$filename.xls"); 
header("Pragma: no-cache"); 
header("Expires: 0"); 

$sep = "\t"; 
for ($i = 0; $i < mysql_num_fields($result); $i++) { 
echo mysql_field_name($result,$i) . "\t"; 
} 
print("\n");  

    while($row = mysql_fetch_row($result)) 
    { 
     $schema_insert = ""; 
     for($j=0; $j<mysql_num_fields($result);$j++) 
     { 
      if(!isset($row[$j])) 
       $schema_insert .= "NULL".$sep; 
      elseif ($row[$j] != "") 
       $schema_insert .= "$row[$j]".$sep; 
      else 
       $schema_insert .= "".$sep; 
     } 
     $schema_insert = str_replace($sep."$", "", $schema_insert); 
     $schema_insert = preg_replace("/\r\n|\n\r|\n|\r/", " ", $schema_insert); 
     $schema_insert .= "\t"; 
     print(trim($schema_insert)); 
     print "\n"; 
    } 
?> 

答えて

0

私はdistinctキーワードを使用することにより、例えば、最初の場所でデータベースから重複した値を照会しないことで、この問題にアプローチしたい:

$sql = "SELECT DISTINCT * FROM $DB_TBLName"; 
# Here --------^ 
+0

ので、どのように私は、問題の先生にアプローチすべきか? –

+0

@PratikPurohit私は既に答えを出しました。 – Mureinik

+0

それは私がタイムスタンプ –

関連する問題