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
 
Script Seite

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

Goneo.de
Bei diesen Anbieter bekommt man Webspace, Domains,...
http://www.Goneo.de
speicherzentrum.d...
Bei den Anbieter bekommt man Webspace, Domains und...
http://www.speicherzentrum.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:  21189
Sprache: Deutsch
Kategorie:  Experten Tutorials
Tutorial Art:  eigenes
 

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


 

Verlink uns, wenn Dir das Tutorial gefallen hat:
Artikel hinzufügen bei: