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

PHP & Base de données Discussion :

Transférer un tableau par un lien


Sujet :

PHP & Base de données

  1. #1
    Débutant Avatar de razily
    Inscrit en
    Février 2009
    Messages
    376
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 376
    Points : 154
    Points
    154
    Par défaut Transférer un tableau par un lien
    Bonjour,

    voilà ; j'arrive à mettre le résultat d'une requête dans un tableau nommé $csv
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      $csv .=$result['IDCabinet'].';'.$result['Denomination'].';'.$effetdate.';'.$poltype.';'.$comp.';'.$poletat."\n";
    mais mon problème c'est que j'ai mis un lien Excel permettant de formater le résultat sous format excel :
    dans ce cas je crée le lien comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    <a href="Excel.php?<gras>valeur=$csv</gras>">Excel</a>

    dans Excel.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
     
    <?php 
    /*  
     * ici concerne le fromatage en fichier Excel 
     */ 
     
    $fichier = $_GET['valeur']; 
    print_r($fichier); 
     
    /* 
    header("Content-type: application/vnd.ms-excel"); 
    header('Content-disposition: attachment; filename="monsuperfichier.csv"'); 
    print($csv); 
     *  
     */ 
    ?>
    l'execution de <code>print_r($fichier);</code>
    m'affiche $csv

    et j'aimerai vous demander comment peut-on transférer ce tableau $csv de manière à ce qu'on puisse le récupérer dans le fichier Excel.php

    merci d'avance

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu procèdes d'une mauvaise façon : le lien ne doit passer que les paramètres variables nécessaires à la requête ; la récolte des données doit se faire dans le même traitement que l'écriture du fichier.

    Image que tu recoltes 1Mo de données, il serait absurde de les envoyer brute au client pour que celui-ci les retourne par un lien, pour lui renvoyer ensuite dans un fichier.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Débutant Avatar de razily
    Inscrit en
    Février 2009
    Messages
    376
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 376
    Points : 154
    Points
    154
    Par défaut
    Salut ;

    j'ai trouvé ici http://php.developpez.com/faq/?page=tableaux

    et en suivant ce qui a été indiqué :

    j'ai fait comme çà :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
       $csv .=$result['IDCabinet'].';'.$result['Denomination'].';'.$effetdate.';'.$poltype.';'.$comp.';'.$poletat."\n";
     
    echo '<a href="Excel.php?valeur=' . urlencode(serialize($csv)) . '">Excel</a>';
    et dans Excel.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     
    $fichier = unserialize(urldecode($_POST['valeur']));
    print_r($fichier);
    mais il m'affiche un message d'erreur de ce genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     
    <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
    <html><head>
    <title>414 Request-URI Too Large</title>
    </head><body>
    <h1>Request-URI Too Large</h1>
    <p>The requested URL's length exceeds the capacity
    limit for this server.<br />
    </p>
    </body></html>

  4. #4
    Débutant Avatar de razily
    Inscrit en
    Février 2009
    Messages
    376
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 376
    Points : 154
    Points
    154
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Tu procèdes d'une mauvaise façon : le lien ne doit passer que les paramètres variables nécessaires à la requête ; la récolte des données doit se faire dans le même traitement que l'écriture du fichier.

    Image que tu recoltes 1Mo de données, il serait absurde de les envoyer brute au client pour que celui-ci les retourne par un lien, pour lui renvoyer ensuite dans un fichier.

    sinon ma question et mon problème est que comment faire pour dire que si l'utilisateur clique sur un bouton ou autre chose (widegt)
    l'action sera exécuté je veux dire le formatage sous format excel est executé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    
    <input type="button" value ="Excel" onClick="alert('j'utilise javascript')" />
    sauf qu' à la place de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     onClick="alert('j'utilise javascript')" />
    je voudrai mettre une focnction de ce genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onClick="formater($csv)"

Discussions similaires

  1. Réponses: 8
    Dernier message: 03/04/2008, 11h19
  2. Réponses: 1
    Dernier message: 10/02/2007, 13h42
  3. Envoi d'un tableau par pipe
    Par Chicard dans le forum Développement
    Réponses: 2
    Dernier message: 10/03/2004, 09h47
  4. Passage d'un tableau par référence?
    Par sebduth dans le forum C
    Réponses: 9
    Dernier message: 16/07/2003, 18h32
  5. [] Tri d'un tableau par ordre alphabétique
    Par cafeine dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 17/09/2002, 08h43

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