info:mysql:mysql2xml

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
info:mysql:mysql2xml [2023/03/20 14:49] – créée radeffinfo:mysql:mysql2xml [2023/03/20 14:52] (Version actuelle) radeff
Ligne 1: Ligne 1:
 ====== mysql2xml ====== ====== mysql2xml ======
-  * [[..:mysql2xml]] script php pour convertir en xml une base mysql //kw: mysqltoxml mysql xml php mysql php xml mysql/+<code php
-  [[..:mysqldump2xml]] utiliser mysqldump pour générer du xml à partir d'une base MySQL; //défaut: c'est pas du xml standard// +<?php 
-  * [[..:phpcgimysql2xml]] utiliser un cgi php appellé depuis php+apache, marche nickel+/* 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; }
 +
 +
 +?>
 +
 +</code>
 +
 +
 +====== mysqldump2xml ======
 +
 +utiliser mysqldump pour générer du xml à partir d'une base MySQL; //défaut: c'est pas du xml standard//
 +<code php>
 +<?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();
 +
 +?> 
 +</code>
 {{tag>mysql}} {{tag>mysql}}
  • info/mysql/mysql2xml.1679320162.txt.gz
  • Dernière modification : 2023/03/20 14:49
  • de radeff