info:mysql:mysql2xml

mysql2xml

<?php
/* SCRIPT PERMETTANT DE CONVERTIR UNE TABLE MYSQL EN FICHIER XML SANS PRECISER LES CHAMPS */
 
// INFOS DE CONNEXION A LA BDD
 
$Sbddhost = 'localhost';
$Sbdduser = 'xxx';
$Sbddpass = 'xxx';
$Sbddbase = 'xxx';
$Sbdderreur = 'La base est inaccessible.';
 
#$Sbddtable = 'chronologie'; // TABLE A CONVERTIR
$Sbddtable = 'chronologie'; // TABLE A CONVERTIR
 
$Sdatalimit = 0; // LIMIT DE DONNEES A CONVERTIR ( 0 = toutes )
 
// DEFINIR L'ORDRE DE LECTURE (NECCESSITE DE CONNAITRE LE CHAMPS DE REFERENCE)
// LAISSER VIDE SI AUCUN ORDRE A DEFNIR
$dataorder = ''; // EX: ID DESC
 
$filename = 'fichier.xml'; // REPERTOIRE ET NOM DU FICHIER
 
$fileerreur = 'Le fichier ne peut être créé vérifier les droits du répertoire';
 
// CONNEXION ET LECTURE TABLE
 
if(!$mysql_link = @mysql_connect($Sbddhost,$Sbdduser,$Sbddpass))
{
echo $Sbdderreur;
exit;
}
 
$sql = "SELECT * FROM $Sbddbase.$Sbddtable";
 
if(!empty($dataorder)) $sql .= " ORDER BY $dataorder";
 
if($Sdatalimit >= 1) $sql .= " LIMIT $Sdatalimit";
 
$req = mysql_query($sql,$mysql_link);
$req2 = mysql_query($sql,$mysql_link);
 
mysql_close($mysql_link); // FERME LA CONNEXION DBB
 
// CONVERSION
 
$file = '<?xml version="1.0" encoding="iso-8859-15"?><rss version="2.0"><channel>';
 
while($row = mysql_fetch_row($req)) {
 
$file .= '<item>';
$i = 0;
foreach($row as $r){
$r=trim($r);
$r=html_entity_decode($r);
$r=htmlspecialchars_decode($r);
$file .= '<##'.$i.'##>'.trim($r).'</##'.$i.'##>'; // CREATION DE TAGS
++$i;
}
$file .= '</item>';
 
}
$file .= '</channel></rss>';
 
$i = 0;
while($field = mysql_fetch_field($req2)) {
$file = ereg_replace("##$i##",$field->name,$file); // REMPLACE LES TAGS
++$i;
}
 
// CREATION DU FICHIER
 
if($fp = @fopen($filename,"w")){
fputs($fp,$file);
fclose($fp);
echo '<a href='.$filename.'>Afficher '.$filename.'</a>';
}else{ echo $fileerreur; }
 
 
?>

mysqldump2xml

utiliser mysqldump pour générer du xml à partir d'une base MySQL; défaut: c'est pas du xml standard

<?php
$dbUser = 'xxx';               // db User
$dbPass = 'xxx';               // db User Password
$dbName = 'xxx';            // db name
$dest   = './backup'; // Path to directory                
 
class MySQLDump {
     /**
    * The backup command to execute
    * @private
    * @var string
    */
     var $cmd;
 
     /**
    * MySQLDump constructor
   * @param string dbUser (MySQL User Name)
    * @param string dbPass (MySQL User Password)
    * @param string dbName (Database to select)
    * @param string dest (Full destination directory path for backup file)
    * @access public
    */
     function MySQLDump ($dbUser,$dbPass,$dbName,$dest) {
             $fname = $dbName.'.xml';
             $this->cmd='mysqldump -X -u'.$dbUser.' -p'.$dbPass.' '.$dbName.
                 ' >'.$dest.'/'.$fname;
         }
 
 
     /**
    * Runs the constructed command
    * @access public
    * @return void
    */
     function backup () {
         system ($this->cmd, $error);
         if($error)
             trigger_error ('Backup failed: '.$error);
     }
}
 
// Instantiate MySQLDump
$mysqlDump = new MySQLDump($dbUser, $dbPass, $dbName, $dest);
 
// Perform the backup
$mysqlDump->backup();
 
?> 
  • info/mysql/mysql2xml.txt
  • Dernière modification : 2023/03/20 14:52
  • de radeff