2014-04-30 5 views
-2

code suivant permet d'exporter la table particulière de MySQL au format CSV .. Mais j'ai besoin le code qui permet d'exporter au format CSV avec toute la table de MySQL. S'il vous plaît, quelqu'un a le code. S'il vous plaît partagerComment exporter mysql vers csv inclure toute la table?

<?php 
    $conn = mysql_connect('localhost', 'xxxx', 'yyyy') or die(mysql_error()); 
    mysql_select_db('zzzz', $conn) or die(mysql_error($conn)); 

    $query = sprintf('SELECT * FROM TABLENAME'); 
    $result = mysql_query($query, $conn) or die(mysql_error($conn));  

    header('Content-Type: text/csv'); 
    header('Content-Disposition: attachment;filename=export.csv'); 

    $row = mysql_fetch_assoc($result); 
    if ($row) { 
     echocsv(array_keys($row)); 
    }  

    while ($row) { 
     echocsv($row); 
     $row = mysql_fetch_assoc($result); 
    } 

    function echocsv($fields) 
    { 
     $separator = ''; 
     foreach ($fields as $field) { 
      if (preg_match('/\\r|\\n|,|"/', $field)) { 
       $field = '"' . str_replace('"', '""', $field) . '"'; 
      } 
      echo $separator . $field; 
      $separator = ','; 
     } 
     echo "\r\n"; 
    } 
?> 
+0

Avez-vous considéré une boucle à travers 'INFORMATION_SCHEMA.TABLES'? –

Répondre

0

Utilisez ce code SHOW TABLES requête renvoie les toutes les tables de votre base de données sélectionnée.

$tablesRes = mysql_query('SHOW TABLES',$conn); 
while($row = mysql_fetch_row($tablesRes)){ 
    $tables[] = $row[0]; 
} 

header('Content-Type: text/csv'); 
header('Content-Disposition: attachment;filename=export.csv'); 

foreach($tables as $table){ 
    $query = 'SELECT * FROM '.$table; 
    $result = mysql_query($query, $conn) or die(mysql_error($conn)); 
    //your csv code here 
} 
Questions connexes