#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 это твой лучший друг (ссылка)