PHP 从 mysql 导出具有多个输入和输出的 xls

PHP xls export from mysql with multiple input and output

我想将多个数据导出到 xls。用户可以输入一个 id (13,42,192) 并且脚本写入 xls.

if(isset($_POST['download_xls'])) {

$filename = 'id_'.$id.'_'.$db_tabel.'_'.date('d-m-Y_H-i',time());

$id_suche = explode(",", str_replace(" ", "", $_POST['id_suche']));

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

print("id\tlayout\tmenge\tname\tvorname\tlieferadresse\tbesteller_name\tbesteller_email\tmitteilung");
print("\n");

foreach ($id_suche as $tmp_id) {

    $query = "SELECT id, layout, menge, name, vorname, lieferadresse, besteller_name, besteller_email, mitteilung FROM be_bestellungen WHERE id = ".$tmp_id;

    $result = mysql_query($query, $db);

    $sep = "\t";

    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));

        die;

    }   
}

}

脚本在xls中只写了1条数据。如果我在输入字段中写一个 ID 没有结果。 谢谢

首先使用mysli_*class

以及您问题的答案:

删除 while 循环中的 die();

如果您想进入循环中的下一次迭代,请使用 continue;

如果你想打破循环使用break;

php.net 是你最好的朋友 (link)