Y at-il un script PHP qui permet de convertir les données de table HTML vers différents formats?

StackOverflow https://stackoverflow.com/questions/855980

  •  21-08-2019
  •  | 
  •  

Question

En utilisant PHP, je peux convertir des données MySQL ou les données de table statiques au format CSV, Excel, JSON, MySQL, etc, mais est-il un script de conversion utile ou un outil qui permet de convertir les données de table dans d'autres formats formatés / style tels que PDF et / ou JPG / PNG en utilisant PHP GD bibliothèque ou un autre?

Était-ce utile?

La solution

Je l'ai utilisé cette avant de tourner une table HTML en PDF. Je généré la table d'une requête MySQL.

Autres conseils

Pour exporter vers Excel J'utilise le code suivant:

<?php

/*  Define our Database and Table Info */


$username="";
$password="";
$database="";
$table="";


mysql_connect(localhost,$username,$password);
@mysql_select_db($database) or die( "Unable to select database");
$select = "SELECT * FROM $table";                
$export = mysql_query($select);
$fields = mysql_num_fields($export);

for ($i = 0; $i < $fields; $i++) {
    $header .= mysql_field_name($export, $i) . "\t";
}

while($row = mysql_fetch_row($export)) {
    $line = '';
    foreach($row as $value) {                                            
        if ((!isset($value)) OR ($value == "")) {
            $value = "\t";
        } else {
            $value = str_replace('"', '""', $value);
            $value = '"' . $value . '"' . "\t";
        }
        $line .= $value;
    }
    $data .= trim($line)."\n";
}
$data = str_replace("\r","",$data);

if ($data == "") {
    $data = "\n(0) Records Found!\n";                        
}

header("Content-type: application/x-msdownload");
header("Content-Disposition: attachment; filename=mailinglist.xls");
header("Pragma: no-cache");
header("Expires: 0");
print "$header\n$data"; 
?> 

Maintenant être prudent avec la façon dont vous inclure cela. Il utilise les en-têtes pour envoyer les informations de fichier pour forcer un téléchargement, en faisant cela, vous ne pouvez pas avoir un espace blanc partout avant que ces en-têtes sont envoyés sinon il peut renvoyer une erreur. J'ai habituellement ce lien ouvert comme une nouvelle fenêtre pour empêcher quoi que ce soit de se produire ... Encore une fois c'est un script assez basique qui peut être considérablement élargi. Hope this helps!

<?php  

/  Define our Database and Table Info /  

$username="";  
$password="";  
$database="";  
$table="";  

mysql_connect(localhost,$username,$password);  
@mysql_select_db($database) or die( "Unable to select database");  
$select = "SELECT * FROM $table";                  
$export = mysql_query($select);  
$fields = mysql_num_fields($export);  

for ($i = 0; $i < $fields; $i++) {  
    $header .= mysql_field_name($export, $i) . ",";  
}  

while($row = mysql_fetch_row($export)) {  
    $line = '';  
    foreach($row as $value) {                                              
        if ((!isset($value)) OR ($value == "")) {  
            $value = ",";  
        } else {  
            $value = str_replace('"', '""', $value);  
            $value = '"' . $value . '"' . ",";  
        }  
        $line .= $value;  
    }  
    $data .= trim($line)."n";  
}  
$data = str_replace("r","",$data);  

if ($data == "") {  
    $data = "n(0) Records Found!n";                          
}  

header("Content-type: application/x-msdownload");  
header("Content-Disposition: attachment; filename=mailinglist.xls");  
header("Pragma: no-cache");  
header("Expires: 0");  
print "$headern$data";   
?> 
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top