PHP xls экспорт из mysql с множественным вводом и выводом

#php #mysql #input #export #xls

#php #mysql #ввод #экспорт #xls

Вопрос:

Я хочу экспортировать несколько данных в xls. Пользователь может ввести идентификатор (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("idtlayouttmengetnametvornametlieferadressetbesteller_nametbesteller_emailtmitteilung");
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("/rn|nr|n|r/", " ", $schema_insert);
        $schema_insert .= "t";


        print(trim($schema_insert));

        die;

    }   
}
  

}

скрипт записывает только 1 данные в xls. если я напишу один идентификатор в поле ввода, результата не будет. Спасибо

Ответ №1:

Прежде всего используйте mysli_* класс

И ответ на ваш вопрос:

Удалите die(); в вашем цикле while

Если вы хотите перейти к следующей итерации в цикле, используйте continue;

Если вы хотите разорвать цикл, используйте break;

php.net это твой лучший друг (ссылка)