Import de table CSV depuis admin
Résolu
Auloni
-
Auloni -
Auloni -
Bonjour,
Existe-t-il un moyen d'importer en local une table au format CSV depuis un simple lien dans l'administration d'un site ?
Par exemple un admin de gestion de contacts dans lequel on mettrait un lien pour importer en csv tout les contacts se trouvant dans la BDD.
Merci par avance de vos aides, pistes et tuyaux.
Existe-t-il un moyen d'importer en local une table au format CSV depuis un simple lien dans l'administration d'un site ?
Par exemple un admin de gestion de contacts dans lequel on mettrait un lien pour importer en csv tout les contacts se trouvant dans la BDD.
Merci par avance de vos aides, pistes et tuyaux.
A voir également:
- Import de table CSV depuis admin
- Table ascii - Guide
- Table des matières word - Guide
- Votre appareil ne dispose pas des correctifs de qualité et de sécurité importants - Guide
- Livebox admin - Guide
- Mot de passe admin - Guide
1 réponse
Re,
Je poste la solution ça peut servir à quelqu'un d'autre !
Créer un fichier nom.php et y insérer le code suivant après avoir paramétré la connection et la table sur laquelle vous voulez importer en local les données en csv :
<?php
// Paramètres persos
$host = ""; // voir hébergeur
$user = ""; // vide ou "root" en local
$pass = ""; // vide en local
$bdd = ""; // nom de la BD
// connexion
@mysql_connect($host,$user,$pass)
or die("Impossible de se connecter");
@mysql_select_db("$bdd")
or die("Impossible de se connecter");
// Liste les données de la table
// -------------------------------------------
$resQuery = mysql_query("SELECT * FROM table");
header("Content-Type: application/csv-tab-delimited-table");
header("Content-disposition: filename=contacts_de_mon_site.csv");
if (mysql_num_rows($resQuery) != 0) {
// titre des colonnes
$fields = mysql_num_fields($resQuery);
$i = 0;
while ($i < $fields) {
echo mysql_field_name($resQuery, $i).";";
$i++;
}
echo "\n";
// données de la table
while ($arrSelect = mysql_fetch_array($resQuery, MYSQL_ASSOC)) {
foreach($arrSelect as $elem) {
echo "$elem;";
}
echo "\n";
}
}
?>
Il ne reste plus qu'a faire un lien dans votre admin vers ce fichier et cliquer dessus quand vous voulez importer.
Je poste la solution ça peut servir à quelqu'un d'autre !
Créer un fichier nom.php et y insérer le code suivant après avoir paramétré la connection et la table sur laquelle vous voulez importer en local les données en csv :
<?php
// Paramètres persos
$host = ""; // voir hébergeur
$user = ""; // vide ou "root" en local
$pass = ""; // vide en local
$bdd = ""; // nom de la BD
// connexion
@mysql_connect($host,$user,$pass)
or die("Impossible de se connecter");
@mysql_select_db("$bdd")
or die("Impossible de se connecter");
// Liste les données de la table
// -------------------------------------------
$resQuery = mysql_query("SELECT * FROM table");
header("Content-Type: application/csv-tab-delimited-table");
header("Content-disposition: filename=contacts_de_mon_site.csv");
if (mysql_num_rows($resQuery) != 0) {
// titre des colonnes
$fields = mysql_num_fields($resQuery);
$i = 0;
while ($i < $fields) {
echo mysql_field_name($resQuery, $i).";";
$i++;
}
echo "\n";
// données de la table
while ($arrSelect = mysql_fetch_array($resQuery, MYSQL_ASSOC)) {
foreach($arrSelect as $elem) {
echo "$elem;";
}
echo "\n";
}
}
?>
Il ne reste plus qu'a faire un lien dans votre admin vers ce fichier et cliquer dessus quand vous voulez importer.