
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ä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: application/xml, Content-Type, mysql, mysql_fetch_object, mysql_query, mysql_select_db, SimpleXMLElement, tabelle, xml