php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2009

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 03.09.2009, 17:06  
Neuer Benutzer
 
Registriert seit: 03.09.2009
Beiträge: 12
PHP-Kenntnisse:
Anfänger
ici_ice befindet sich auf einem aufstrebenden Ast
Standard csv datei erstellen

Hallo,
vorab muss ich sagen das ich nicht besonders viel Ahnung von PHP habe.
Ich habe ein PHP Dokument geschrieben das Daten aus einer Datenbank ausliest und dann ein eine Tabelle schreibt.
Die Kriterien für die Auswahl der Auswahl werden in der Datei main.php ausgewählt also z.B. der Buchungskreis, dann werden die Auswahlkriterien an die Datei db_abruf.php via get Methode übergeben, hierbei werden die variablen in eine sql Abfrage eingesetzt und dann werden die daten in einer Tabelle ausgegeben, jetzt möchte ich diese Daten aber auch zum Download als csv bereitstellen, am besten per Button wo sich dann ein Fenster mit speichern unter öffnet, ich habe schon einen Kollegen gefragt, welcher meinte das man dies durch einen Header lösen kann, allerdings habe ich das nicht hinbekommen. Es wäre super wenn jemand eine lösung wüsste.

Hier der php code:
PHP-Code:
$recordSet = &$db->Execute("SELECT ......");


echo 
'<table width=100% hight=100% border="2">';
echo
'  <tr>
        <th>Konzept</th>
</tr>'
;
while (!
$recordSet->EOF) {
//echo $recordSet->fields['Tab_Kostenstellen_Stammdaten.KST']/*.' '.$recordSet->fields['Tab_Kostenstellen_Stammdaten.Buchungskreis'].' '.$recordSet->fields['Tab_Kostenstellen_Stammdaten.Abteilung'];*/
echo '<tr>';
for (
$i=0$i 14$i++){
echo 
'<td>';
echo 
$recordSet->fields[$i].' '
echo 
'</td>';
}echo 
'</tr>';

$recordSet->MoveNext();
}echo 
'</table>';
$recordSet->Close();
$db->Close(); 
ici_ice ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 03.09.2009, 21:02  
Erfahrener Benutzer
 
Registriert seit: 28.05.2008
Beiträge: 2.094
PHP-Kenntnisse:
Fortgeschritten
rudygotya ist einfach richtig nettrudygotya ist einfach richtig nettrudygotya ist einfach richtig nettrudygotya ist einfach richtig nettrudygotya ist einfach richtig nett
Standard

Beim header setzen googlen nach:
header + wahlweise
content type,force-download,filename
f_put_csv könnt auch weiterhelfen. Falls du mit session authentifizierung arbeitest, session_start vor dem header nicht vergessen, sonst geht nix.
__________________
++++ Wieder einer ins Netz gegangen: Phishers Fritz zufrieden ++++
Blog
rudygotya ist offline  
Alt 04.09.2009, 00:16  
Moderator
 
Benutzerbild von Chriz
 
Registriert seit: 11.05.2008
Beiträge: 6.267
Chriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer Anblick
Standard

PHP: header - Manual
Nach "download" suchen.
__________________
"Nuschel ich?" - "Was?"
Chriz ist offline  
Alt 04.09.2009, 09:01  
Neuer Benutzer
 
Registriert seit: 03.09.2009
Beiträge: 12
PHP-Kenntnisse:
Anfänger
ici_ice befindet sich auf einem aufstrebenden Ast
Standard

So, ich habe jetzt einen Header eingebaut,
ist aber wieder das selbe Problem wie gestern
wenn ich die Datei im Prowser öffne, dann kommt folgender Fehler:

Warning: Cannot modify header information - headers already sent by (output started at C:\xampplite\htdocs\Kostenstellen_abrufen\db_abruf .php:6) in C:\xampplite\htdocs\Kostenstellen_abrufen\db_abruf .php on line 11

Warning: Cannot modify header information - headers already sent by (output started at C:\xampplite\htdocs\Kostenstellen_abrufen\db_abruf .php:6) in C:\xampplite\htdocs\Kostenstellen_abrufen\db_abruf .php on line 14

Ich habe das so ein meinem Code verbaut:
Code:
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Unbenanntes Dokument</title>
<link type="text/css" rel="stylesheet" media="all" href="http://drupal/sites/default/files/css/c4d5ffa7ca3d78573e9ae2a84312e18c.css" />
</head>
<body>
<?

header('Content-type: application/pdf');


header('Content-Disposition: attachment; filename="downloaded.pdf"');
ici_ice ist offline  
Alt 04.09.2009, 09:23  
Erfahrener Benutzer
 
Registriert seit: 02.09.2009
Beiträge: 1.019
PHP-Kenntnisse:
Fortgeschritten
mquadrat befindet sich auf einem aufstrebenden Ast
Standard

Der Header ist das erst was gesendet werden muss. Davor darfst du keine Ausgabe machen, da beim ersten ausgegebenen Zeichen der Header automatisch verschickt wird. Das sagt im übrigen auch die Fehlermeldung. "Kann Header nicht ändern, weil schon geschickt" (frei übersetzt )

Wieso hast du da eigentlich .pdf drin stehen, wenn du eine CSV Datei schicken willst?!
mquadrat ist offline  
Alt 04.09.2009, 10:35  
Moderator
 
Benutzerbild von Chriz
 
Registriert seit: 11.05.2008
Beiträge: 6.267
Chriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer Anblick
Standard

Weil der das aus dem Handbuch 1:1 uebernommen hat, ohne nach zudenken.
__________________
"Nuschel ich?" - "Was?"
Chriz ist offline  
Alt 04.09.2009, 10:53  
Neuer Benutzer
 
Registriert seit: 03.09.2009
Beiträge: 12
PHP-Kenntnisse:
Anfänger
ici_ice befindet sich auf einem aufstrebenden Ast
Standard

@Chriz, ne weil ich wusste auf welchen Fehler ich stoßen werde und das dann schnell abschicken wollte und es vergessen habe zu ändern,
habe es jetzt so gemacht, aber das ist ja auch nicht die lösung
Code:
<head>
header('Content-type: application/csv');
header('Content-Disposition: attachment; filename="downloaded.csv"');
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
is ja klar das es nicht geht weil es nciht als php erkannt wird, aber wenn ich die php zeichen davor mache, dann ergibt sich wieder der Fehler von oben.
ici_ice ist offline  
Alt 04.09.2009, 10:56  
Erfahrener Benutzer
 
Registriert seit: 02.09.2009
Beiträge: 1.019
PHP-Kenntnisse:
Fortgeschritten
mquadrat befindet sich auf einem aufstrebenden Ast
Standard

Wir reden vom http-Header. Nicht vom Head-Abschnitt in einer HTML Datei. Ggf. solltest du dir nochmal die Funktionsweise des HTTP Protokolls anschauen.
mquadrat ist offline  
Alt 04.09.2009, 11:16  
Neuer Benutzer
 
Registriert seit: 03.09.2009
Beiträge: 12
PHP-Kenntnisse:
Anfänger
ici_ice befindet sich auf einem aufstrebenden Ast
Standard

ja, mir ist eigentlich schon klar wozu der head ist.
aber ich verstehe nicht wieso ich den header teil nicht mit php tags einbinden kann, weil wenn ich es wie im link vom header manual mache, also so:
dann schmeißt der mir wieder den fehler aus, und der besteht halt beim php-tag

PHP-Code:
<body>

<?
header
('Content-type: application/csv');
header('Content-Disposition: attachment; filename="downloaded.csv"');
?>
hat nicht jemand schopn sowas fertig parat?
ici_ice ist offline  
Alt 04.09.2009, 11:24  
Erfahrener Benutzer
 
Registriert seit: 02.09.2009
Beiträge: 1.019
PHP-Kenntnisse:
Fortgeschritten
mquadrat befindet sich auf einem aufstrebenden Ast
Standard

Siehe mein Post #5!

Das muss vor die aller aller aller aller erste Ausgabe deines Scripts. Und ja, auch <DOCTYPE> oder <html> sind Ausgaben!

EDIT: Sicher gibt's das fertig irgendwo, aber dann lernste ja nix dabei.
mquadrat ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] PDF-Datei mit php erstellen und verbinden ***tisc*** PHP Tipps 2009 4 03.06.2009 22:25
Homepage mit PHP in eine index.php Datei erstellen matze228 PHP Tipps 2009 5 15.01.2009 22:18
access datei mit php erstellen nieselfriem Datenbanken 18 07.01.2009 12:55
wie kann man mit FPDF ein PDF Datei auf Webseite zu erstellen waldsee PHP Tipps 2008 4 22.12.2008 10:17
.htpasswd Datei erstellen obi Server, Hosting und Workstations 9 26.09.2006 13:27
Datei erstellen und schreiben - WICHTIG! MessengerNews! PHP Tipps 2006 12 13.08.2006 22:36
[Erledigt] CSS Datei mittels PHP erstellen PHP Tipps 2005-2 6 13.10.2005 19:05
php datei ueber form erstellen PHP Tipps 2005-2 6 22.09.2005 11:44
datei erstellen nixdorf PHP Tipps 2005-2 2 06.09.2005 12:06
txt datei erstellen wie zeilenbrüche und absätze einbringen? PHP Tipps 2005 11 19.05.2005 17:39
Disk quota beim erstellen einer Datei ggfan PHP Tipps 2005 5 20.04.2005 17:15
datei erstellen und rechte aendern PHP Tipps 2005 10 16.03.2005 15:56
[Erledigt] Datei erstellen und verlinken PHP Tipps 2004 2 13.08.2004 17:50
Datei erstellen und verlinken PHP Tipps 2004 1 13.08.2004 14:20
datei erstellen und versenden?!?! jens76 PHP Tipps 2004 2 02.07.2004 13:27

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php csv datei erstellen, csv datei download, http://www.php.de/php-einsteiger/58704-csv-datei-erstellen.html, csv datei erstellen php, csv header erstellen, echo csv datei anlegen formatieren, php csv datei erstellen beispiel, csv datei schreiben php, erstellung von csvdateien mit php, php csv header, php csv datei erstellen header als download, php csv datei erstellen html drin, php csv datei erstellen download, iso csv datei php, aus pdf eine csv datei erstellen, csv datei anlegen php, php csvdatei erstellen, webseite auswählen csv dateien generieren, php csv datei erstellen iso 8859-1, php csv dateien erzeugen

Alle Zeitangaben in WEZ +2. Es ist jetzt 16:45 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum