Hi,
I have a problem getting the table names and mainly the field names out of a known database.
What i am aiming to do is create an XML output of the database, this will include all the tables, fields and data of a given data base.
This is the code used:
<?php
header ("Content-type: text/xml");
echo ("<?xml version=\"1.0\"?>\n<?dbtml version=\"0.0.1-26-11-2003\"?>\n");
$hostName = "localhost";
$username = "USR";
$password = "PASS";
$db = $database;
if ($database == "") {
$db = "xmlmania_news";
}
mysql_connect ("$hostName", "$username", "$password") or die ("Cannot connect to database server.");
mysql_select_db ("$db") or die ("Cannot connect to database.");
?>
<dbtml xmlns:dbtml="http://xmlns.xmlmania.com/dbtml/">
<dbtml:source>
<dbtml:databaseName value="<?php print "$db"; ?>" />
<dbtml:serverType value="MySQL" />
<dbtml:serverVersion value="<?php print mysql_get_server_info(); ?>" />
</dbtml:source>
<dbtml:output><?php
$resultTables = mysql_list_tables($db);
$resultFields = mysql_list_fields($db, $table);
$count = mysql_num_fields($resultFields);
while ($table = mysql_fetch_row($resultTables)) {
print "\n\t\t<dbtml:table tableName=\"$table[0]\">\n";
$fields = mysql_list_fields("$resultTables", "$table");
$columns = mysql_num_fields($fields);
for ($i = 0; $i < $count; $i++) {
echo mysql_field_name($fields, $i) . "\n";
}
print "\t\t</dbtml:table>\n";
}
mysql_free_result($resultTables);
?>
</dbtml:output>
</dbtml>
The code in action is available: http://www.xmlmania.com/tmp.php
What i hope to be the output is:
<dbtml xmlns:dbtml="http://xmlns.xmlmania.com/dbtml/">
<dbtml:source>
<dbtml:databaseName value="myDatabase" />
<dbtml:serverType value="MySQL" />
<dbtml:serverVersion value="4.0.15-standard" />
</dbtml:source>
<dbtml:output>
<dbtml:table tableName="myTable">
<dbtml:field fieldName="myField">
dbtml:dataSet id="01">...Sample Data...</dbtml:dataSet>
dbtml:dataSet id="02">...Sample Data...</dbtml:dataSet>
dbtml:dataSet id="03">...Sample Data...</dbtml:dataSet>
</dbtml:field>
</dbtml:table>
</dbtml:output>
</dbtml>
Can anyone help??
Thanks