Envoyé par elecoest
Voir le message
Générer 1 fichier csv et le télécharger
Réduire
X
-
Le visiteur a répondu
-
ben, c'est un csv pas un xls donc oui c'est normal pour moi
Laisser un commentaire:
-
Le visiteur a réponduEnvoyé par elecoest Voir le messagehello,
rien de plus que ce que décrit dans la doc de joomla : https://docs.joomla.org/Selecting_da...g_JDatabase/fr
Un seul défaut constaté: la 1ère ligne reprenant les intitulés des rubriques de la Table de BDD est traitée comme une simple ligne de données, et ne s'intègre donc pas dans la ligne de définition des colonnes d'Excel !
Certes l'utilisateur peut aisément recopier chaque titre de rubrique et le coller une ligne plus haut dans les titres des colonnes. Mais ce serait chouette d'arriver à l'intégration directe !
As-tu remarqué ce petit défaut ?
Laisser un commentaire:
-
hello,
rien de plus que ce que décrit dans la doc de joomla : https://docs.joomla.org/Selecting_da...g_JDatabase/fr
Laisser un commentaire:
-
Le visiteur a réponduEnvoyé par elecoest Voir le messageeuh...
c'est ces lignes qui génère les items
$db->setQuery($query); $items = $db->loadObjectList(); les items sont générés avant de les écrire dans un fichier.
Je vais reprendre mes tests. Il y a quelque chose qui m'échappe.
Stp, pourrais-tu me donner le descriptif de ta connexion à la BDD, ainsi que ta requête càd:
Code PHP:$db = ...
$query = ...
Dernière édition par Visiteur à 14/12/2018, 07h09
Laisser un commentaire:
-
euh...
c'est ces lignes qui génère les items
$db->setQuery($query); $items = $db->loadObjectList(); les items sont générés avant de les écrire dans un fichier.
Laisser un commentaire:
-
Le visiteur a réponduEnvoyé par elecoest Voir le messageen modifiant ta query avec la variable $query
$db->setQuery($query);
Et ceci joue même si dans ma requête j'ai placé des conditions du type "WHERE". La macro s'en moque ! Je récupère ainsi de ma table "users" jusqu'au super-administrateur. Aïe !!!Dernière édition par Visiteur à 13/12/2018, 11h34
Laisser un commentaire:
-
en modifiant ta query avec la variable $query
$db->setQuery($query);
Laisser un commentaire:
-
Le visiteur a réponduEnvoyé par elecoest Voir le messageperso j'utilise :
Code:$db->setQuery($query); $items = $db->loadObjectList(); $csv = fopen('php://output', 'w'); fputs($csv, $bom = (chr(0xEF) . chr(0xBB) . chr(0xBF))); $header = array_keys($db->getTableColumns('#__mytable')); fputcsv($csv, $header, ';'); foreach ($items as $lines) { fputcsv($csv, (array)$lines, ';', '"'); } return fclose($csv);
Pourrais-tu stp me dire comment ne récupérer que certaines rubriques de la table traitée ?
Par exemple, je traite la table "users" et je n'ai besoin que de "username, name et email" (ceci aurait déjà l'avantage de ne pas générer une erreur du type "vous dépassez la capacité en nombre de cellules").
Avec mes remerciements anticipés.
Laisser un commentaire:
-
Le visiteur a réponduEnvoyé par elecoest Voir le messageperso j'utilise :
Code:$db->setQuery($query); $items = $db->loadObjectList(); $csv = fopen('php://output', 'w'); fputs($csv, $bom = (chr(0xEF) . chr(0xBB) . chr(0xBF))); $header = array_keys($db->getTableColumns('#__mytable')); fputcsv($csv, $header, ';'); foreach ($items as $lines) { fputcsv($csv, (array)$lines, ';', '"'); } return fclose($csv);
Dernière édition par Visiteur à 07/12/2018, 08h25
Laisser un commentaire:
-
perso j'utilise :
Code:$db->setQuery($query); $items = $db->loadObjectList(); $csv = fopen('php://output', 'w'); fputs($csv, $bom = (chr(0xEF) . chr(0xBB) . chr(0xBF))); $header = array_keys($db->getTableColumns('#__mytable')); fputcsv($csv, $header, ';'); foreach ($items as $lines) { fputcsv($csv, (array)$lines, ';', '"'); } return fclose($csv);
Laisser un commentaire:
-
Le visiteur a réponduNe trouvant pas de solution qui me convienne, je viens de créer mon fichier csv tout comme un fichier texte et en respectant la structure attendue par Excel.
Même combat : pas d'erreur système ou autre, mais que je mette n'importe quoi dans ce fichier texte ... il est systématiquement rempli du fichier "index.php" de mon site, dès que je crée ce nouveau fichier !
J'ai vu sur différents forums des personnes se plaindre du même constat.
Que faut-il faire -commande spéciale ???- pour éviter ce pépin ?
Laisser un commentaire:
-
Le visiteur a réponduEnvoyé par woluweb Voir le messageBonjour,
Si ce que vous souhaitez afficher/télécharger dans un fichier CSV provient des tables Joomla (articles, utilisateurs, ...), vous pouvez utiliser ce super script de cavo789 :
https://github.com/cavo789/joomla_show_table
Laisser un commentaire:
-
Bonjour,
Si ce que vous souhaitez afficher/télécharger dans un fichier CSV provient des tables Joomla (articles, utilisateurs, ...), vous pouvez utiliser ce super script de cavo789 :
Laisser un commentaire:
-
Générer 1 fichier csv et le télécharger
Bonjour,
Je coinçe sur la rédaction d'un script en php qui doit, à partir d'une variable tableau unidimensionnel déjà rempli, me générer un fichier CSV puis me le técharger (pour intégration ensuite dans Excel).
J'ai déjà passé de nombreuses heures à ferrailler, et j'ai tenté d'appliquer des modèles trouvés sur la toile: rien n'y fait. Tous les résultats me donnent:- soit un fichier vide,
- soit la copie de mon fichier "index.php" !
Code PHP:
// la variable de type array() est $pass, elle contient mes lignes de données (chaque ligne n'ayant qu'une seule donnée NOM
$fp = fopen('test.csv', 'w');
foreach($pass as $fields) {
fputcsv($fp, $fields, ';');
}
fclose($fp);
$fichier = "test.csv";
$chemin="./test.csv";
header('Content-disposition: attachment; filename="' . $fichier . '"');
header('Content-Type: text/csv');
header('Content-Transfer-Encoding: binary');
header('Content-Length: '. filesize($chemin));
header('Pragma: no-cache');
header('Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0');
header('Expires: 0');
Grand merci pour vos conseils éclairés.
nb: j'ai bien testé le contenu de $pass, et le téléchargement fonctionne parfaitementTags: Aucun
Annonce
Réduire
Aucune annonce pour le moment.
Laisser un commentaire: