2016-10-07 3 views
1

Я хочу экспортировать несколько данных в xls. Пользователь может ввести идентификатор (13,42,192) и сценарий написать xls.PHP xls экспорт из mysql с несколькими входами и выводами

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; 

    } 
} 

}

сценарий писать только 1 данные в XLS. если я напишу один id в поле ввода, нет результата. благодаря

ответ

0

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

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

Удалите die(); в цикле в то время как

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

Если вы хотите разбить цикл использования break;

php.net - ваш лучший друг (link)

Смежные вопросы