IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques et frameworks PHP Discussion :

[Excel] Création de colonne à partir de données SGBD


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre averti
    Inscrit en
    Mars 2005
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 18
    Par défaut [Excel] Création de colonne à partir de données SGBD
    Bonjour,

    Voilà donc mon petit souci. Je désire à partir d'un clic sur un bouton créer un document excel avec des infos de ma base de données. Tout se passe bien sauf que dans mon fichier excel tout est rangé dans une seule et même colonne
    Donc voilà si une ame charitable pouvait me donner un pti' coup de main ça serait cool.

    Merci


    EDIT du titre

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 278
    Par défaut
    Pourquoi ne pas faire un fichier csv ? Chaque colonne est délimitée par des points virgules, chaque ligne par un retour chariot.

  3. #3
    Membre averti
    Inscrit en
    Mars 2005
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 18
    Par défaut
    Ok c'est cool, après pas mal de tentatives j'ai enfin trouvé où mettre ce fameux ";". Merci bien

    Si j'ai d'autres questions je n'hésite pas

  4. #4
    Membre averti
    Inscrit en
    Mars 2005
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 18
    Par défaut
    Bonjour tout le monde,

    Comme je le pensais précedement je me retrouve à nouveau bloqué dans mon programme. Alors pour faire simple lorsque je crée un rendez vous dans mon agenda via mon formulaire je peux laisser une note (pour mieux décrire le rdv). Ensuite une fois dans l'agenda il me suffit de cliquer sur une petite image se trouvant sur le rdv pour qu'un pop-up avec le détail du rdv s'affiche. Et cela marche très bien..... sur le planning de ma première personne. En effet sur les planning des deux autres individus je suis renvoyé à une page d'EasyPHP "Répertoires à la racine d'apache (www)"

    Voici un bout de mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $plageNote = date("H:i",mktime(floor($enr[1]),($enr[1]*60)%60,0,1,1,2000))."<IMG height='8' alt='' 
     
    src='image/popup_jusqua.gif' width='8' border='0'>".date("H:i",mktime(floor($enr[2]),($enr[2]*60)%60,0,1,1,2000));
          $createurNote = ($enr[6]!=$USER_SUBSTITUE) ? " <A style='font-weight:normal;color:".$AgendaTexteTitrePopup."'>(Note 
     
    créée par ".htmlspecialchars($enr[7]).")</A>" : "";
          $detailNote = htmlspecialchars(nlTObr($enr[5]))."&nbsp;";
    ceci pour récuperer les valeurs


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $matAff[$iMat][$colToUse] .= "<TD align=right><A href=\"/\" onclick=\"javascript: 
     
    stc('".addslashes($detailNote)."','".addslashes($plageNote.$createurNote)."'); return false;\"><IMG 
     
    src=\"image/popup_open.gif\" width=\"9\" height=\"8\" alt=\"Afficher le détail\" border=\"0\" align=\"absmiddle\"></A></TD>";
          $matAff[$iMat][$colToUse] .= "</TR></TABLE></TD>\n";
    ceci pour les afficher


    Donc si quelqu'un a une petite idée de la cause du souci ça serait sympa.
    Merci d'avance



    PS : petite question HS mais est ce que les ";" pour changer de colonnes sous excel fonctionnent sous Office 2000 ? ou que sous Office XP ?

  5. #5
    Membre Expert

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 278
    Par défaut
    Citation Envoyé par Toxick
    PS : petite question HS mais est ce que les ";" pour changer de colonnes sous excel fonctionnent sous Office 2000 ? ou que sous Office XP ?
    Le format CSV est standardisé. Il est donc valable pour toutes les applications, et pas seulement sous M$ Office.
    Au passage, réfère-toi aux spécifications du format, et tu verras notamment que par défaut c'est la virgule le séparateur de colonnes, et non le point-virgule comme je te l'ai indiqué plus haut.
    Tu as aussi une fonction php qui te permet de parser directement un fichier csv : fgetcsv(). Une autre te permet d'écrire en csv : fputcsv() (php 5.1.0RC1+).

  6. #6
    Membre averti
    Inscrit en
    Mars 2005
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 18
    Par défaut
    Citation Envoyé par vg33
    Le format CSV est standardisé. Il est donc valable pour toutes les applications, et pas seulement sous M$ Office.
    Au passage, réfère-toi aux spécifications du format, et tu verras notamment que par défaut c'est la virgule le séparateur de colonnes, et non le point-virgule comme je te l'ai indiqué plus haut.
    Tu as aussi une fonction php qui te permet de parser directement un fichier csv : fgetcsv(). Une autre te permet d'écrire en csv : fputcsv() (php 5.1.0RC1+).
    OK merci de ces précisions. Je disais ça car sur mon poste (XP+Office XP) pas de souci, hors lorsque j'ai voulu changer de poste (XP+Office 2000) les données rangées dans mon fichier csv étaient dans une seule et même colonne avec entre chaque champs le fameux ;. Ca doit donc être autre chose.


  7. #7
    Membre averti
    Inscrit en
    Mars 2005
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 18
    Par défaut
    Citation Envoyé par Toxick
    Bonjour tout le monde,

    Comme je le pensais précedement je me retrouve à nouveau bloqué dans mon programme. Alors pour faire simple lorsque je crée un rendez vous dans mon agenda via mon formulaire je peux laisser une note (pour mieux décrire le rdv). Ensuite une fois dans l'agenda il me suffit de cliquer sur une petite image se trouvant sur le rdv pour qu'un pop-up avec le détail du rdv s'affiche. Et cela marche très bien..... sur le planning de ma première personne. En effet sur les planning des deux autres individus je suis renvoyé à une page d'EasyPHP "Répertoires à la racine d'apache (www)"

    Voici un bout de mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $plageNote = date("H:i",mktime(floor($enr[1]),($enr[1]*60)%60,0,1,1,2000))."<IMG height='8' alt='' 
     
    src='image/popup_jusqua.gif' width='8' border='0'>".date("H:i",mktime(floor($enr[2]),($enr[2]*60)%60,0,1,1,2000));
          $createurNote = ($enr[6]!=$USER_SUBSTITUE) ? " <A style='font-weight:normal;color:".$AgendaTexteTitrePopup."'>(Note 
     
    créée par ".htmlspecialchars($enr[7]).")</A>" : "";
          $detailNote = htmlspecialchars(nlTObr($enr[5]))."&nbsp;";
    ceci pour récuperer les valeurs


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $matAff[$iMat][$colToUse] .= "<TD align=right><A href=\"/\" onclick=\"javascript: 
     
    stc('".addslashes($detailNote)."','".addslashes($plageNote.$createurNote)."'); return false;\"><IMG 
     
    src=\"image/popup_open.gif\" width=\"9\" height=\"8\" alt=\"Afficher le détail\" border=\"0\" align=\"absmiddle\"></A></TD>";
          $matAff[$iMat][$colToUse] .= "</TR></TABLE></TD>\n";
    ceci pour les afficher


    Donc si quelqu'un a une petite idée de la cause du souci ça serait sympa.
    Merci d'avance

  8. #8
    Membre Expert

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 278
    Par défaut
    Citation Envoyé par Toxick
    OK merci de ces précisions. Je disais ça car sur mon poste (XP+Office XP) pas de souci, hors lorsque j'ai voulu changer de poste (XP+Office 2000) les données rangées dans mon fichier csv étaient dans une seule et même colonne avec entre chaque champs le fameux ;. Ca doit donc être autre chose.
    Je te dis : la séparation par défaut est la virgule, pas le point virgule. Le plus simple pour toi pour t'en rendre compte est de créer un fichier excel, de l'enregistrer en .csv, puis de l'ouvrir dans word. Tu verras immédiatement comment se présente un fichier csv. Bien entendu, tu peux faire la même manip avec OpenOffice (calc et writer) ou n'importe quel tableur du marché.

  9. #9
    Membre averti
    Inscrit en
    Mars 2005
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 18
    Par défaut
    Citation Envoyé par vg33
    Je te dis : la séparation par défaut est la virgule, pas le point virgule. Le plus simple pour toi pour t'en rendre compte est de créer un fichier excel, de l'enregistrer en .csv, puis de l'ouvrir dans word. Tu verras immédiatement comment se présente un fichier csv. Bien entendu, tu peux faire la même manip avec OpenOffice (calc et writer) ou n'importe quel tableur du marché.
    thx


    Sinon personne a une petite idée pour l'autre problème

Discussions similaires

  1. Python-Création fichier CSV + création de courbes à partir des données
    Par Alex-python38 dans le forum Général Python
    Réponses: 1
    Dernier message: 28/08/2018, 10h14
  2. Réponses: 5
    Dernier message: 04/10/2016, 01h15
  3. [XL-2013] Macro Excel création de colonne avec formules
    Par Micheltru dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 01/04/2016, 10h41
  4. Réponses: 3
    Dernier message: 09/09/2015, 11h34
  5. Réponses: 0
    Dernier message: 28/02/2011, 13h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo