Impressum  |   RSS  |  Forum

tsql

PHP – MySQL Export in XML

MySQL Tabelle in ein XML Dokument exportieren/konvertieren

In diesem Beispiel wird gezeigt, wie Daten aus einer MySQL-Tabelle in ein XML-Dokument umgewandelt werden. Der Quellcode beginnt mit den Anmeldedaten am Datenbankserver. Beim Aufruf des Scriptes werden zuerst alle verfügbaren Tabellen in einer Combobox angezeigt. Mit einem Klick auf Senden werden die Rows aus der Tabelle direkt in ein neu erzeugtes XML-File geschrieben.

Der Code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
<?php
$dbHost = "localhost";
$dbUser = "root";
$dbPassword = "";
$dbName = 'XMLDB';
 
 
 
if (!mysql_connect($dbHost, $dbUser, $dbPassword)) {
    echo 'Keine Verbindung zur Datenbank möglich';
    exit;
}
 
 
if(isset($_POST["table"])){
 
    // Alle Spalten der ausgewählten Tabelle in ein XML-Doc schreiben
 
    header("Content-Type: application/xml");
 
    $dbtable = $_POST["table"];
 
    mysql_select_db($dbName);
 
    $result = mysql_query("SELECT * FROM $dbtable");
 
    $XMLDoc = new SimpleXMLElement("<?xml version='1.0' standalone='yes'?><$dbtable></$dbtable>");
 
    while($dbrow = mysql_fetch_object($result))
    {
        $xmlrow = $XMLDoc->addChild("row");
 
        foreach($dbrow as $Spalte => $Wert)
            $xmlrow->$Spalte = $Wert;
    }
 
    echo $XMLDoc->asXML();
 
} else {
 
    // Alle Tabellen in einem Auswahldialog auflisten
 
    $result = mysql_list_tables($dbName);
 
    if (!$result) {
        echo "DB Fehler, Tabellen können nicht angezeigt werden\n";
        echo 'MySQL Fehler: ' . mysql_error();
        exit;
    }
 
    echo '<h2>Tabelle ausw&auml;hlen</h2>
          <form method="post">
          <select name="table">';
 
    while ($row = mysql_fetch_row($result)) {
        echo '<option value="',$row[0],'">',$row[0],'</option>';
    }
 
    echo '</select>
          <input type="submit" name="Submit" value="Senden">
          </form>';
 
}
 
mysql_free_result($result);
?>

Tags: , , , , , , , ,