PHP script - MySql to XML converter - Holyguard.net - Social Network for Developers - Web coding and development

Main Menu




browser lang:en

Users Area

Client Login

today cache size is:0

 

 


Commenti

RE:trasformare in .gz by boris
10/03/2011 by marco

22/02/2011 by bono
RE:trasformare in .gz
22/02/2011 by boris
trasformare in .gz
21/02/2011 by bono
RE:Ma a che serve sta roba???
05/02/2011 by dwarf79
Ma a che serve sta roba???
28/01/2011 by Luca
Rapidshare hotfile fileserver download
08/01/2011 by Rapidshare hotfile fileserver download
re:xml
03/12/2010 by david68

Leggi tutto »


RAPIDQ

Rapid-Q:The lost files
My old library where i have collected all the rapidq scripts and italian help


Today my pagerank is: Free Page Rank Tool
Upbooking - free booking engine

PHP script - MySql to XML converter

Questo piccolo script serve per convertire un intero Database MySql in una serie di files XML.

In pratica viene generato un file xml per ogni tabella corrispondente nel Database, ad esempio nel caso avessimo una tabella "amici" con campi "id" e "titolo", la struttura dell'xml generato sarebbe questa:



<?xml version="1.0"?>
 <amici>
  <record>
   <id>1</id>
   <titolo><![CDATA[ Pippo ]]></titolo>
  </record>
  <record>
   <id>2</id>
   <titolo><![CDATA[ Pluto ]]></titolo>
  </record>
  ....
 </amici>        


E la tabella verrà salvata in un file dal nome amici_xml.xml (naturalmente potete cambiarlo a vostro piacimento)

Lo script inserisce anche il CDATA quando incontra i campi di tipo STRING e BLOB.
Questa è una versione molto basica, per cui se qualcuno è interessato a migliorie sono disponibile a lavorarci insieme.


	$hostname = "hostname";
	$database = "database";
	$username = "username";
	$password = "password";
	
	// Directory where we write the xml files
	$directory = "/xml/";

	$cnConnection = mysql_pconnect($hostname, $username, $password);
	
	//Conn control
	if (!$cnConnection) {
		print 'Could not connect to mysql';
		exit;
	}
	
	//Read all tables
	$result = mysql_list_tables($database);
	
	if (!$result) {
		print "DB Error, could not list tables\n";
		print 'MySQL Error: ' . mysql_error();
		exit;
	}
	
	//Start print all tables
	while ($row = mysql_fetch_row($result)) {
		
		$fields = mysql_list_fields($database, $row[0], $cnConnection);
		$columns = mysql_num_fields($fields);
	
		for ($i = 0; $i < $columns; $i++) {
		 $colonnaTabella[] = mysql_field_name($fields, $i);
		 $tipoColonna[]  = mysql_field_type($fields, $i);
	
		}
		
		// CONNECT TO DATABASE
		mysql_select_db($database, $cnConnection);
		$query_rsRecordset = "SELECT * FROM ".$row[0];
		$rsRecordset = mysql_query($query_rsRecordset, $cnConnection) or die(mysql_error());
		$row_rsRecordset = mysql_fetch_assoc($rsRecordset);
		$totalRows_rsRecordset = mysql_num_rows($rsRecordset);
		
		// START STORING DATA IN VARIABLE TO PLACE IN XML FILE
			if($totalRows_rsRecordset > 0) {
			
			    $strXML = "<?xml version=\"1.0\"?>\n";
				
			    // STORE NAME OF TABLE
			    $strXML = $strXML . "		<".$row[0].">\n";
				
			    // STORE FIELD AND FIELD DATA IN ONE HIARCHY, REPEAT FOR MULTIPLE FIELDS
			    do {
	
					$strXML = $strXML . "				<record>\n";
					foreach ($colonnaTabella as $key => $value) {
    			
    					//Select the type of column and relative results
						$kindOfColumn = $tipoColonna[$key];
							switch ($kindOfColumn){
							case 'string':
							  $strXML = $strXML."						<".$value."><![CDATA[".$row_rsRecordset[$value]."]]></".$value.">\n";
							  break;
							case 'blob':
							  $strXML = $strXML."						<".$value."><![CDATA[".$row_rsRecordset[$value]."]]></".$value.">\n";
							  break;
							default:
							  $strXML = $strXML."						<".$value.">".$row_rsRecordset[$value]."</".$value.">\n";
	    				}
					}
					$strXML = $strXML . "				</record>\n";
			    } while ($row_rsRecordset = mysql_fetch_assoc($rsRecordset)); 
				
				$strXML = $strXML . "		</".$row[0].">";
			    
				// OPEN FILE, WRITE TO FILE, CLOSE FILE, CLOSE RECORDSET
			    $XMLFile = fopen($_SERVER['DOCUMENT_ROOT'].$directory.$row[0]."_xml.xml", "w") or die("can't open file");
			    
				fwrite($XMLFile, $strXML);
			    fclose($XMLFile);
			}
			
		mysql_free_result($rsRecordset);
		
		//Empty the arrays
		$colonnaTabella = array(); 
		$tipoColonna = array(); 
		
	}

	mysql_free_result($result);
	
	echo 'Db Processed...';



Commenti

XML to MYSQL by holyguard

11/06/2009 
Certo che c'è; , ce ne sono ben due, li puoi trovare QUI e QUI

Manca la connessione alla base di dati, che è facilmente aggiungibile alla fine del bucle per estrarre i dati XML.

Un saluto


MySql to XML converter by DGT

03/06/2009 
Ciao, ottimo script che mi sta facendo scoprire un nuovo mondo. Ce n'è per caso uno che facci il contrario? Cioè convertire da XML a MySql?

Ciao e grazie


Inserisci un commento

Titolo
Messaggio
Nome Utente
e-mail (se vuoi ricevere le risposte a questo post anche via mail)

Users

Videos


Scripts & Tutorials

Linux - I comandi principali

07/11/2010 

Per i piú smemorati, una lista di comandi principali usati con linux cd : cambia la directory corrente. ls : mostra il…

in:Scripts e tutorials (0 commenti)

Search Engine Optimization - 130 parametri usati da google per valutare il tuo sito

26/08/2010 

Con l'avvento di caffeine molti webmaster si sono trovati a dover rivedere tutte le strategie SEO per i…

in:Scripts e tutorials (0 commenti)

Inserisci Google BUZZ nel tuo sito con Google Buzz Widget Jquery Plugin

15/02/2010 

Questo è un widget di jQuery per il nuovo social network di Google-Buzz-che è possibile incorporare ovunque per…

in:Scripts e tutorials (0 commenti)

Javascript - Codifica/decodifica di password nei file ste di Dreamweaver

17/01/2010 

Questo é un pratico codificatore/decodificatore/decriptatore (chiamatelo come volete) di password inserite nei file di configurazione .ste su dreamweaver function…

in:Scripts e tutorials (0 commenti)

PHP - Uno script per calcolare il PageRank di Google

10/01/2010 

Il PageRank è un algoritmo che usa Google per valutare la credibilità e l'autorevolezza delle pagine Web. Il…

in:Scripts e tutorials (8 commenti)

PHP - Download file con limite di velocita'

20/10/2009 

Con questo script possiamo limitare il download di un file dal nostro server php; il limite di velocitá…

in:Scripts e tutorials (0 commenti)

PHP - Salvare immagini remote sul proprio server usando CURL

12/10/2009 

Alcuni host hanno disabilitati nei settaggi del.ini i comandi allow_url_fopen. Questo significa anche non poter usare i vantaggi…

in:Scripts e tutorials (2 commenti)

PHP - Short Url: due funzioni per creare link brevi

06/10/2009 

Gli SHORT URLS fanno ormai parte di quelle cose di internet che ci suonono terribilmente familiari; per capirci…

in:Scripts e tutorials (0 commenti)

Leggi tutto »


Tag Clouds


Linux comandi principaliSearch Engine Optimization parametri usati google valutare sitoInserisci Google BUZZ sito Google Buzz Widget Jquery PluginJavascript Codificadecodifica password file DreamweaverPHP script calcolare PageRank GooglePHP Download file limite velocitaPHP


Add to Technorati Favorites