Php 从mysql传输到ms excel

Php 从mysql传输到ms excel,php,mysql,excel,Php,Mysql,Excel,我试图将我的数据从mysql传输到ms excel,但我使用php得到了重复的值 <?php $form=''; $link = odbc_connect ('Ayush', '', ''); if (!$link) { die('Could not connect: ' . odbc_error()); } echo 'Connected successfully .<br>'; //create query to select

我试图将我的数据从mysql传输到ms excel,但我使用php得到了重复的值

<?php
        $form='';
    $link = odbc_connect ('Ayush', '', '');
if (!$link)
{
    die('Could not connect: ' . odbc_error());
}
    echo 'Connected successfully .<br>';
    //create query to select as data from your table
    $sql= "SELECT * FROM adel";
    $result =  odbc_exec($link,$sql);
    $sep = "\t"; //tabbed character 
    $fp = fopen('database.xls', "w"); 
    $schema_insert = ""; 
    $schema_insert_rows = ""; 
    for ($i = 1; $i < (odbc_num_fields($result))+1; $i++) 
    { 
    $schema_insert_rows.=odbc_field_name($result,$i) . "\t"; 
    } 
    $schema_insert_rows.="\n"; 
    echo $schema_insert_rows; 
    fwrite($fp, $schema_insert_rows); 
    //start while loop to get data 
    while($row = odbc_fetch_array($result)) 
    { 
        foreach($row as $value)
        {
        //set_time_limit(60); // 
        /*$schema_insert = ""; 
        for($j=1; $j<odbc_num_fields($result);$j++) 
        { 
        if(!isset($row[$j])) 
        $schema_insert .= "NULL".$sep;
        elseif  ($row[$j] != "") */
        $schema_insert.= strip_tags("$value").$sep; 

        $schema_insert .= "";
        } 

    //$schema_insert = str_replace($sep."$", "", $schema_insert); 

    //this corrects output in excel when table fields contain \n or \r 
    //these two characters are now replaced with a space 

    //$schema_insert = preg_replace("/\r\n|\n\r|\n|\r/", " ", $schema_insert); 
    $schema_insert .= "\n"; 
    //$schema_insert = (trim($schema_insert)); 
    //print $schema_insert .= "\n"; 
    print "\n";
    fwrite($fp, $schema_insert); 
    } 
    fclose($fp);
odbc_close($link);
?>

下面给出了输出

我不想要任何不明确的价值观 有人能帮我吗
非常感谢

Thankx

您可以将DISTINCT或GROUP BY添加到查询中。例如:

SELECT DISTINCT FirstName,LastName FROM adel

您没有在获取记录的循环顶部重新初始化$schema_insert,因此您的输出将是:

row1

row1 
row2

row1
row2
row3

row1
row2
row3
row4

row1
...
尝试:

顺便说一句,带有“$schema_insert.=”“;”的行他什么也没做

row1

row1 
row2

row1
row2
row3

row1
row2
row3
row4

row1
...
while($row = odbc_fetch_array($result)) 
{ 
   $schema_insert='';
   ...