Chargement en cours...
Connexion au forum informatique de Sur-la-Toile
La discussion « Enregistrer les données de la BDD Mysql sur Excel (avec Sylk) » se trouve dans le forum « Programmation »
Statut de la discussion » Enregistrer les données de la BDD Mysql sur Excel (avec Sylk) « ( sans réponse)

Enregistrer les données de la BDD Mysql sur Excel (avec Sylk)

» Liste des Forums » Programmation » Discussion

Le 12-05-2007 à 21:04 #

Bonjour !
J'ai un site internet où des agents immobiliers remplissent un formulaire pour m'informer de la vente d'un appartement. Mon formulaire fonctionne bien et inscrit les données dans la Base de Données (1&1). Je voudrais récupérer les données de ma BDD dans un fichier excel. J'ai donc vu que l'on pouvait le faire avec le format sylk (.slk).
Je viens de créer ce fichier en m'aidant du site http://www.phpinfo.net/page/archives/articles/de-mysql-a-excel-via-php-et-sylk/
Cependant, ça ne marche pas:
Code:
  1.   <?php
  2.   
  3.   // ----------------------------------------------------------------------------
  4.   
  5.   define("FORMAT_REEL", 1); // #,##0.00
  6.   define("FORMAT_ENTIER", 2); // #,##0
  7.   define("FORMAT_TEXTE", 3); // @
  8.   
  9.   $cfg_formats[FORMAT_ENTIER] = "FF0";
  10.   $cfg_formats[FORMAT_REEL] = "FF2";
  11.   $cfg_formats[FORMAT_TEXTE] = "FG0";
  12.   
  13.   // ----------------------------------------------------------------------------
  14.   
  15.   $cfg_hote = 'db853.1and1.fr';
  16.   $cfg_user = 'dbo205034216';
  17.   $cfg_pass = '*******';
  18.   $cfg_base = 'db205034216';
  19.   
  20.   // ----------------------------------------------------------------------------
  21.   
  22.   if (mysql_connect($cfg_hote, $cfg_user, $cfg_pass))
  23.   {
  24.    // construction de la requête
  25.    // ------------------------------------------------------------------------
  26.    $sql = "SELECT nom_agence, ville_agence, nom_client, adresse_client, date, mail_agence, ref, remarques ";
  27.    $sql .= "FROM clients_villaparc ";
  28.   
  29.    // définition des différentes colonnes de données
  30.    // ------------------------------------------------------------------------
  31.    $champs = Array(
  32.    // champ en-tête format alignement largeur
  33.    Array( 'date' 'Date' FORMAT_ENTIER, 'R', 10),
  34.    Array( 'nom_agence', 'Agence', FORMAT_ENTIER, 'R', 20 ),
  35.    Array( 'ville_agence', 'Ville', FORMAT_TEXTE, 'L', 20 ),
  36.    Array( 'ref', 'Référence', FORMAT_TEXTE, 'L', 20 ),
  37.    Array( 'nom_client', 'Client', FORMAT_TEXTE, 'L', 20 ),
  38.    Array( 'adresse_client', 'Adresse client', FORMAT_TEXTE, 'C', 20 ),
  39.    Array( 'mail_agence', 'Mail agence', FORMAT_TEXTE, 'C', 20 ),
  40.    Array( 'remarques', 'Remarques', FORMAT_TEXTE, 'C', 20 )
  41.   
  42.   
  43.    );
  44.    // ------------------------------------------------------------------------
  45.   
  46.   
  47.    if ($resultat = mysql_db_query($cfg_base, $sql))
  48.    {
  49.    // en-tête HTTP
  50.    // --------------------------------------------------------------------
  51.    header('Content-disposition: filename=astuces.slk');
  52.    header('Content-type: application/octetstream');
  53.    header('Pragma: no-cache');
  54.    header('Expires: 0');
  55.   
  56.    // en-tête du fichier SYLK
  57.    // --------------------------------------------------------------------
  58.    echo "ID;PASTUCES-phpInfo.net\n"; // ID;Pappli
  59.    echo "\n";
  60.    // formats
  61.    echo "P;PGeneral\n";
  62.    echo "P;P#,##0.00\n"; // P;Pformat_1 (reels)
  63.    echo "P;P#,##0\n"; // P;Pformat_2 (entiers)
  64.    echo "P;P@\n"; // P;Pformat_3 (textes)
  65.    echo "\n";
  66.    // polices
  67.    echo "P;EArial;M200\n";
  68.    echo "P;EArial;M200\n";
  69.    echo "P;EArial;M200\n";
  70.    echo "P;FArial;M200;SB\n";
  71.    echo "\n";
  72.    // nb lignes * nb colonnes : B;Yligmax;Xcolmax
  73.    echo "B;Y".(mysql_num_rows($resultat)+1);
  74.    echo ";X".($nbcol = mysql_num_fields($resultat))."\n";
  75.    echo "\n";
  76.   
  77.    // récupération des infos de formatage des colonnes
  78.    // --------------------------------------------------------------------
  79.    for ($cpt = 0; $cpt < $nbcol; $cpt++)
  80.    {
  81.    $num_format[$cpt] = $champs[$cpt][2];
  82.    $format[$cpt] = $cfg_formats[$num_format[$cpt]].$champs[$cpt][3];
  83.    }
  84.   
  85.    // largeurs des colonnes
  86.    // --------------------------------------------------------------------
  87.    for ($cpt = 1; $cpt <= $nbcol; $cpt++)
  88.    {
  89.    // F;Wcoldeb colfin largeur
  90.    echo "F;W".$cpt." ".$cpt." ".$champs[$cpt-1][4]."\n";
  91.    }
  92.    echo "F;W".$cpt." 256 8\n"; // F;Wcoldeb colfin largeur
  93.    echo "\n";
  94.   
  95.    // en-tête des colonnes (en gras --> SDM4)
  96.    // --------------------------------------------------------------------
  97.    for ($cpt = 1; $cpt <= $nbcol; $cpt++)
  98.    {
  99.    echo "F;SDM4;FG0C;".($cpt == 1 ? "Y1;" : "")."X".$cpt."\n";
  100.    echo "C;N;K"".$champs[$cpt-1][1].""\n";
  101.    }
  102.    echo "\n";
  103.   
  104.    // données utiles
  105.    // --------------------------------------------------------------------
  106.    $ligne = 2;
  107.    while ($enr = mysql_fetch_array($resultat))
  108.    {
  109.    // parcours des champs
  110.    for ($cpt = 0; $cpt < $nbcol; $cpt++)
  111.    {
  112.    // format
  113.    echo "F;P".$num_format[$cpt].";".$format[$cpt];
  114.    echo ($cpt == 0 ? ";Y".$ligne : "").";X".($cpt+1)."\n";
  115.    // valeur
  116.    if ($num_format[$cpt] == FORMAT_TEXTE)
  117.    echo "C;N;K"".str_replace(';', ';;', $enr[$cpt]).""\n";
  118.    else
  119.    echo "C;N;K".$enr[$cpt]."\n";
  120.    }
  121.    echo "\n";
  122.    $ligne++;
  123.    }
  124.   
  125.    // fin du fichier
  126.    // --------------------------------------------------------------------
  127.    echo "E\n";
  128.    }
  129.   
  130.    mysql_close();
  131.   }
  132.   
  133.   ?>

    Pourquoi ?
    Merci à vous !
    @+
    Larry ;)


    » Liste des Forums » Programmation




    Sujets Connexes

    Arakien & WéWé


    Forums

    Navigation


    Publicité

    Connectés

    Il y a actuellement 70 visiteurs et 1 toilien en ligne, ainsi que 1 connecté sur le tchat.

    Recherche

    Annonces


    Sauf mention contraire, le contenu du blog et du forum est sous licence Creative Commons By-Sa. Vous avez le droit de le reproduire à condition de citer l'auteur, de faire un lien vers la page d'origine, et de partager vos travaux dérivés selon les mêmes conditions.

    Conditions d'utilisation -

    Partenaires: [Informatique Multimédia] [Portail du Maroc] [Actualité High Tech]
    [Tutoriaux Photoshop] [éligibilité ADSL] [Astuces Windows]

    Page générée en 168 millisecondes sur WWW2.