Navigation
 Startseite
 Fachbücher
 Forum
 Webmaster News
 Script Newsletter
 Kontakt
 Script Installation
 Php
 Php Tutorials
 Impressum

Community-Bereich
 kostenlos Registrieren
 Anmelden
 Benutzerliste

Script Datenbank
 Script Archiv
 Script Top 20
 Screenshots
 Testberichte

Suche
 

Unsere Php Scripts
 Counter Script
 Umfrage Script
 Bilder Upload Script
 Terminverwaltung
 Simple PHP Forum
 RSS Grabber

Script Mods
 phpBB Adsense Mode

Tools und Generatoren
 .htpasswd Generator
 md5 Generator
 base64 Generator
 ICQ Generator
 Colorpicker
 Unix timestamp Tool
 TLD Liste
 Webkatalog Verzeichnis

Partner
Sprüche Treff

Hosterplus.de
Bekommen Sie Speicherplatz (Webspace), Domains und...
https://www.Hosterplus.de
Artfiles.de
Bietet Serviceorientierte Internetdienstleistungen...
https://www.Artfiles.de
 
 
 

Mysql Export zu einer CSV Datei mit Php

Sie befinden sich: Home > Php Tutorial > Mysql Export zu einer CSV D...

Mysql Export zu einer CSV Datei mit Php


Eintrag am:  11.12.2009
Hits / Besucher:  25156
Sprache: Deutsch
Kategorie:  Experten Tutorials
Tutorial Art:  eigenes
Eingetragen von    schubertmedia
 
Beschreibung

In diesem Tutorial wird erklärt, wie man mit ein PHP Script auf einer MySQL Datenbank zugreifen kann und entsprechend die Daten in einer CSV Datei ausgeben. Als erstes müssen wir eine entsprechende Datenbank angelegt haben, die Datenbank könnte zum Beispiel so aussehen. Diese Daten importieren wir über den PHPMyAdmin in die entsprechende MySQL Datenbank. In unserem Beispiel haben wir, eine Kundentabelle mit Adressdaten.

SQL Befehl für Datenbank:

CREATE TABLE IF NOT EXISTS `kunden` (

`id` int(11) NOT NULL AUTO_INCREMENT,

    `vorname` varchar(255) NOT NULL,

    `nachname` varchar(255) NOT NULL,

    `strasse` varchar(255) NOT NULL,

    `hausnummer` varchar(10) NOT NULL,

    `plz` varchar(10) NOT NULL,

    `ort` varchar(10) NOT NULL,

    `land` varchar(255) NOT NULL,

    `email` varchar(255) NOT NULL,

    PRIMARY KEY (`id`)

) ENGINE = MyISAM DEFAULT CHARSET = latin1

    AUTO_INCREMENT = 3 ;

 

--

-- Daten für Tabelle `kunden`

--

 

INSERT INTO `kunden` (`id`, `vorname`,

    `nachname`, `strasse`, `hausnummer`, `plz`,

    `ort`, `land`, `email`) VALUES

(1, 'Nico', 'Schubert', 'Klostegasse', '10',

    '07318', 'Saalfeld', 'Deutschland',

    'info@schubertmedia.de'),

(2, 'Max', 'Mustermann', 'Musterstrasse', '1',

    '11111', 'Musterhaus', 'Musterland',

    'max.mustermann@musterhausen.de');

 

Nachdem wir unseren MySQL Datenbank angelegt haben, geht es nun anders PHP Script. Nachfolgend finden sie das entsprechende PHP-Script.

Code des PHP Script:

<?php

    
/*

    * Created on 11.12.2009 by Nico Schubert

    */

    /*

    * Der Host von ihrer MySQL Datenbank

    */

    
$db_host 'localhost';

    
/*

    * Username des MySQL Benutzers

    */

    
$db_user 'root';

    
/*

    * Das Passwort des MySQL Benutzers

    */

    
$db_passwort '';

    
/*

    * Name der Datenbank

    */

    
$db_datenbank 'mysql_to_csv';

    
/*

    * Tabellennamen, die abgefragt werden soll

    */

    
$db_tabelle 'kunden';

    
/*

    * Deklaration von benutzten Variablen

    */

    
$ausgabe '';

    
$suche = array('"'';');

    
$ersetzen = array("'"" ");

    
/*

    * Aufbau der MySQL Verbindung

    */

    
$link = @mysql_connect($db_host$db_user,

        
$db_passwort);

    if (!
$link) {

        die(
'Es konnte keine Verbindung

            hergestellt werden zur MySQL

            Datenbank. MySQL Fehler: ' 
.

            
mysql_error());

    }

    
$db_selected =

        @
mysql_select_db($db_datenbank$link);

    if (!
$db_selected) {

        die (
'Es konnte die Tabelle:

            '
.$db_tabelle.' ausgewählt werden!

            MySQL Fehler: ' 
mysql_error());

    }

    
/*

    * Abfrage zusammenstellen von der Tabelle. In

        unserem Fall verwenden wir ein Stern,

        damit alle Felder ausgegeben werden.

        Anschließend wird die Abfrage in der

        Variable $sql_select gespeichert.

    */

    
$sql_select "SELECT * FROM

        `"
.$db_tabelle."`";

    
/*

    * Mit den PHP Befehl mysql_query() stellen

        wir unserer Abfrage an die Tabelle.

    */

    
$query = @mysql_query($sql_select) or

        die(
'Mysql Fehler:'.mysql_error());

    
/**

    * Mit dem Befehl mysql_num_rows() ermitteln

        wir die Anzahl der betroffenen

        Datensätze, anschließend prüfen wir mit

        einer IF-Anweisung ob die Anzahl der

        betroffenen Datensätze größer als Null ist.

    */

    
if (@mysql_num_rows($query) != 0) {

        
/**

        * Wenn wir Datensätze in unserem Abfrage

            haben, führen wir eine while

            Schleife aus und speichern ein Array

            in der Variable $daten

        */

        
while ($daten mysql_fetch_assoc($query)) {

            
/**

            * Nun prüfen wir die Variable $daten

                ob in dieser ein Array enthalten ist.

            */

            
if (is_array($daten) == true) {

                
/**

                * Wenn in der Variable $daten ein

                    Array enthalten ist laufen

                    wir mit einer so genannten

                    foreach Schleife das Array durch.

                */

                
foreach ($daten as $key => $value) {

                    
/**

                    * Nun speichern wir in der

                        Variable $ausgabe unsere

                        gefundenen Spalten.

                        Bevor wir die Daten

                        entsprechend unserer

                        Zeichenkette anhängen,

                        prüfen wir die Daten ob

                        in diesen Felder " oder

                        ; enthalten ist und

                        ersetzen die mit der PHP

                        Funktion str_replace()

                    */

                    
$ausgabe .=

                        
""".str_replace($suche,

                        
$ersetzen,

                        
$daten[$key])."";";

                }

            }

            
/**

            * Wenn ein neuer Datensatz

                abgearbeitet wird, speichern wir

                in der Variable $ausgabe einen

                Zeilenumbruch

            */

            
$ausgabe .= "n";

        }

    } else {

        
/**

        * Sollten wir keine Datensätze finden,

            speichern der in der Variable

            $ausgabe eine Ausgabe, dass keine

            Datensätze gefunden wurden.

        */

        
$ausgabe .= ""Es sind keine Daten in der

            Tabelle: "
.$db_tabelle." vorhanden!";";

    }

    
/**

    * Mit der PHP Funktion headers_sent() prüfen

        wir ob, eine Ausgabe an den Browser

        bereits gesendet wurde.

    */

    
if (headers_sent() == false) {

        
/**

        * Wenn noch keine Ausgabe an den Browser

            gesendet wurde, geben wir als

            Dateityp text/csv ein mit den PHP

            Befehl header()

        */

        
header("Content-type: text/csv");

        
/**

        * Expires greifen wir auf den Cache vom

            Browser zu und definieren das

            Ablaufdatum der Datei.

        */

        
header('Expires: ' gmdate('D, d M Y

            H:i:s'
) . ' GMT');

        
/**

        * Mit Content-Disposition: attachment;

            filename=download.csv definieren wir

            einen vordefinierten Dateinamen, der

            zum Download angeboten wird

        */

        
header('Content-Disposition: attachment;

            filename=download.csv'
);

        
/**

        * Zusätzlich übergeben wir mit Pragma:

            no-cache den Browser, dass er die

            Dateien nicht in den Cache speichern

            soll.

        */

        
header('Pragma: no-cache');

    }

    
/**

    * Nun geben wir unsere gespeicherte Variable

        $ausgabe mit den Echobefehl aus.

    */

    
echo $ausgabe;

?>

 
Dieses PHP-Script ist komplett lauffähig, um dies zu verwenden müssen sie die MySQL Datenbankdaten anpassen und auf ihren Server speichern. Nachdem sie das Script über ihren Browser aufrufen, wird automatisch der Download von der CSV Datei beginnen. Wenn sie noch Fragen zu diesem Tutorial haben, so nutzen sie bitte unser Forum.

 

 

Tags:

 

Artikel hinzufügen bei: