Conversion des requêtes MySQL en CSV en PHP
En PHP, l'exportation de données des requêtes MySQL vers CSV peut être réalisée efficacement sans utiliser de ressources temporaires. fichiers. Voici deux méthodes efficaces pour accomplir cette tâche :
Utilisation de SELECT ... INTO OUTFILE de MySQL :
Cette requête génère directement le résultat dans un fichier CSV :
SELECT * INTO OUTFILE "c:/mydata.csv" FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY "\n" FROM my_table;
Utilisation du code PHP :
Ce code sélectionne le data, les formate au format CSV et les envoie en réponse :
$select = "SELECT * FROM table_name"; $export = mysql_query ( $select ) or die ( "Sql error : " . mysql_error( ) ); $fields = mysql_num_fields ( $export ); // Get header for ( $i = 0; $i < $fields; $i++ ) { $header .= mysql_field_name( $export , $i ) . "\t"; } // Get data while( $row = mysql_fetch_row( $export ) ) { $line = ''; foreach( $row as $value ) { if ( ( !isset( $value ) ) || ( $value == "" ) ) { $value = "\t"; } else { $value = str_replace( '"' , '""' , $value ); $value = '"' . $value . '"' . "\t"; } $line .= $value; } $data .= trim( $line ) . "\n"; } // Send response $data = str_replace( "\r" , "" , $data ); if ( $data == "" ) { $data = "\n(0) Records Found!\n"; } header("Content-type: application/octet-stream"); header("Content-Disposition: attachment; filename=your_desired_name.xls"); header("Pragma: no-cache"); header("Expires: 0"); print "$header\n$data";
Ces deux méthodes convertissent efficacement les résultats des requêtes MySQL au format CSV en PHP, le choix de l'approche dépendant de facteurs tels que la base de données taille et flexibilité souhaitée.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!