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 :

Télécharger des résultats en csv


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    86
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Décembre 2010
    Messages : 86
    Par défaut Télécharger des résultats en csv
    Bonjour, à des fins professionnelles, j'ai besoin de pouvoir télécharger (en csv et autres) des résultats affichés à l'écran. (resultats affichés, après que le formulaire de recherche client ait été rempli et envoyé) .

    problème, je ne sais pas comment faire.

    La page ou je voudrais que l'option de téléchargement apparaisse
    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <link rel="stylesheet" type="text/css" href="css/design.css" />
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>resultats</title>
    </head>
     
     
    <body>
    	  <?php 
     
    	include('include/connection.php'); ?>
     
    <!-- export en csv -->  
     
    <!-- -->    
     
     
     <?php   
     
     
    	  $id = $_GET['ID'];
    	  $raison = $_GET['raison_sociale'];
    	  $dirige = $_GET['dirigeant'];
    	  $adresse = $_GET['adresse'];
    	  $cp = $_GET['cp'];
    	  $region = $_GET['region'];
    	  $ville = $_GET['ville'];
    	  $telephone = $_GET['tel'];
    	  $telecopie = $_GET['telecopie'];
    	  $email = $_GET['email'];
    	  $email2 = $_GET['email2'];
    	  $code_naf = $_GET['code_naf'];
    	  $libelle_naf = $_GET['libelle_naf'];
    	  $rubrique_professionnelle = $_GET['rubrique_professionnelle'];
     
     
     
    	  echo "<br />
                   
    			    Raison sociale  recherchée =<b> $raison </b><br />\n
                    dirigeant recherché = <b>$dirige</b> <br />\n
    				Adresse recherchée = <b>$adresse</b> <br />\n
    				Code Postal recherché = <b>$cp</b> <br />\n
    				Région recherchée = <b>$region</b> <br />\n
    				Ville recherchée = <b>$ville</b> <br />\n
    				Téléphone recherché = <b>$telephone</b> <br />\n
    				Télécopie recherchée = <b>$telecopie</b> <br />\n
    				Email recherché = <b>$email</b> <br />\n
    				Email2 recherché = <b>$email2</b> <br />\n
    				Code_NAF recherché = <b>$code_naf</b> <br />\n
    				Libellé_NAF recherché =<b> $libelle_naf</b> <br />\n
    				Rubrique Professionnelle recherché = <b>$rubrique_professionnelle</b> <br />\n
    				
    				
    				
    				 </b> <br/>"; ?>
    <?php	  
     
    	$requete = "
        SELECT raison_sociale, dirigeant, adresse, cp, region, ville, tel, telecopie, email, email2, code_naf, libelle_naf, rubrique_professionnelle
        FROM liste
        WHERE 1 ";
    	if ($raison != '')
    {
        $requete .= " AND raison_sociale LIKE '%$raison%' ";
    }
     
    if ($dirige != '')
    {
        $requete .= " AND dirigeant LIKE '%$dirige%' ";
    }
     
     
    if ($adresse != '')
    {
        $requete .= " AND adresse LIKE '%$adresse%' ";
    }
     
     
    if ($cp != '')
    {
        $requete .= " AND cp LIKE '%$cp%' ";
    }
     
     
    if ($region != '')
    {
        $requete .= " AND region LIKE '%$region%' ";
    }
     
    if ($ville != '')
    {
        $requete .= " AND ville LIKE '%$ville%' ";
    }
     
    if ($telephone != '')
    {
        $requete .= " AND telephone LIKE '%$telephone%' ";
    }
     
    if ($telecopie != '')
    {
        $requete .= " AND telecopie LIKE '%$telecopie%' ";
    }
     
    if ($email != '')
    {
        $requete .= " AND email LIKE '%$email%' ";
    }
     
    if ($email2 != '')
    {
        $requete .= " AND email2 LIKE '%$email2%' ";
    }
     
    if ($code_naf != '')
    {
        $requete .= " AND code_naf LIKE '%$code_naf%' ";
    }
     
    if ($libelle_naf != '')
    {
        $requete .= " AND libelle_naf LIKE '%$libelle_naf%' ";
    }
     
    if ($rubrique_professionnelle != '')
    {
        $requete .= " AND rubrique_professionnelle LIKE '%$rubrique_professionnelle%' ";
    }
     
     
     
     
    /*
    	   OR ID LIKE '%id%'
           OR dirigeant LIKE '%$dirige%'
    	   OR adresse LIKE '%$adresse%'
    	   OR cp LIKE '%$cp%'
    	   OR region LIKE '%$region%'
    	   OR ville LIKE '%$ville%'
    	   OR tel LIKE '%$telephone%'
    	   OR telecopie LIKE '%$telecopie%'
    	   OR email LIKE '%$email%'
    	   OR email2 LIKE '%$email2%'
    	   OR code_naf LIKE '%$code_naf%'
    	   OR libelle_naf LIKE '%$libelle_naf%'
    	   OR rubrique_professionnelle LIKE '%$rubrique_professionnelle%'
    	   ";*/
     
    	//echo $requete, $requete2;
     
    	 $connexion = mysql_pconnect (localhost,Lucas,bonomi);
    	  mysql_select_db (lucas, $connexion);
     
    	  $resultat = mysql_query ($requete, $connexion) OR die("<br />
    Erreur SQL : $query<br/>".mysql_error());
    ?>
    <div style="background:#D8D8D8; overflow:scroll;">
    <h2>R&eacute;sultats</h2>
    <table style="border:1 red solid">
            <tr >
     
                    <th>RAISON SOCIALE</th>
                    <th>DIRIGEANT</th>
                    <th>ADRESSE</th>
                    <th>CP</th>
                    <th>REGION</th>
                    <th>VILLE</th>
                    <th>N°TEL</th>
                    <th>N°FAX</th>
                    <th>EMAIL</th>
                    <th>EMAIL2</th>
                    <th>CODE_NAF</th>
                     <th>LIBELLE_NAF</th>
                    <th>RUBRIQUE PROFESSIONNELLE</th>
     
            </tr>
    <div>     
    <?php 
    	while ( ($clients = mysql_fetch_array ($resultat)))
    	{
    		?>
    	         <div>  <br />
     
                    <td><?php echo $clients['raison_sociale'];?></td>
                    <td><?php echo $clients['dirigeant']; ?></td>
                    <td><?php echo $clients['adresse']; ?></td>
                    <td><?php echo $clients['cp']; ?></td>
                    <td><?php echo $clients['ville']; ?></td>
                    <td><?php echo $clients['region']; ?></td>
                    <td><?php echo $clients['tel']; ?></td>
                    <td><?php echo $clients['telecopie']; ?></td>
                    <td><?php echo $clients['email']; ?></td>
                    <td><?php echo $clients['email2']; ?></td>
                    <td><?php echo $clients['code_naf']; ?></td>
                    <td><?php echo $clients['libelle_naf']; ?></td>
                    <td><?php echo $clients['rubrique_professionnelle']; ?></td>
    </table> 
    <?php } ?> 
     
     
     
     
     
     
     
    </div> <br />
     
      </div>
    <br />
    <br />
    <?php include ('xport_csv.php')?>
     
    </body>
    </html>
    Ainsi que le code dont je me sert pour télécharger le contenu de ma BDD, et que je n'arrive pas a configurer pou rne récupérer QUE les résultats de la recherche..
    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    <?php
    ob_start();
    // Inclusion des paramètres de connexion à votre base de données
    $hote="..";
    $base="..";
    $utilisateur="..";
    $pass="..";
    $table="liste";
     
    $c=@mysql_connect("$hote","$utilisateur","$pass","$table") or die('Echec de la connexion à la base de donnée');
    mysql_select_db("$base") or die('Connexion à la base de donnée réussie mais table manquante ou endommagée');
     
     
    // on sélectionne la base 
     
     
    //Premiere ligne = nom des champs (
    $xls_output = "ID\t raison_sociale\t dirigeant\t adresse\t cp\t region\t ville\t telephone\t telecopie\t email\t email2\t code_naf\t libelle_naf\t rubrique_professionnelle";
    $xls_output .= "\n";
     
    //Requete SQL
     
    $query='SELECT ID, raison_sociale, dirigeant, adresse, cp, region, ville, tel, telecopie, email, email2, code_naf, libelle_naf, rubrique_professionnelle
        FROM liste';
      $result = mysql_query($query) or die(mysql_error());
     
      //Boucle sur les resultats
    while($row = mysql_fetch_array($result))
    {
    $xls_output .= "$row[ID]\t$row[raison_sociale]\t$row[dirigeant]\t$row[adresse]\t$row[cp]$row[region]\t$row[ville]\t$row[tel]\t$row[telecopie]\t$row[email]\t$row[email2]\t$row[code_Naf]\t$row[libelle_naf]\t$row[rubrique_professionnelle]\n";
    }
     
    header("Content-type: application/vnd.ms-excel");
    header("Content-disposition: attachment; filename=AddressBook_" . date("Ymd").".sql");
    print $xls_output;
    exit;
     
    ob_end_flush();?>
    Merci à ceux qui me répondront.

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    tu peux utilise fputcsv pour creer un CSV temporaire que t'affichera a la fin, après pour la recherche il suffis de faire la même requête

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    86
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Décembre 2010
    Messages : 86
    Par défaut
    Comme conseillé plus haut, j'ai utilisé FPUTCSV, mais la réponse du script :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Warning: fopen(file.csv) [function.fopen]: failed to open stream: Permission denied in /var/www/vhosts/propaganda.zenticket.fr/httpdocs/bdd/myphp2.php on line 205
     
    Warning: Invalid argument supplied for foreach() in /var/www/vhosts/propaganda.zenticket.fr/httpdocs/bdd/myphp2.php on line 207
     
    Warning: fclose(): supplied argument is not a valid stream resource in /var/www/vhosts/propaganda.zenticket.fr/httpdocs/bdd/myphp2.php on line 211

  4. #4
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    il faut que php est les droit pour creer le fichier, mais tu peux le creer dans le dossier temporaire en utilisant juste tmpfile

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    86
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Décembre 2010
    Messages : 86
    Par défaut
    Je dois 'Pluger' ce bout de code dans ma page ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php
    $temp = tmpfile();
    fwrite($temp, "Écriture dans le fichier temporaire");
    fseek($temp, 0);
    echo fread($temp, 1024);
    fclose($temp); // ceci va effacer le fichier
    ?>

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    86
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Décembre 2010
    Messages : 86
    Par défaut
    Je n'arrive pas vraiment à appliquer ce que tu m'as dit plus haut, mais je continue, j'essaie de voir comment bien utiliser 'fputcsv' .

    Pour le reste, tout commentaire qui me permettrait d'avancer est le bienvenue, je bloque..

  7. #7
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    t'as copié un code sans le comprendre la.


    tien un exemple pour créer simplement un CSV :

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    ini_set('mysql.trace_mode', true);
     
    mysql_connect('localhost', 'root', '');
    mysql_select_db('test');
    mysql_set_charset('UTF8');
     
    $sql = "SELECT * FROM test";
     
    $result = mysql_query($sql);
    $handle = tmpfile();
    $fields = mysql_fetch_assoc($result);
     
    fputcsv($handle, array_keys($fields));
     
    do
    {
        fputcsv($handle, $fields);
    }
    while($fields = mysql_fetch_assoc($result));
     
    mysql_free_result($result);
     
    rewind($handle);
    fpassthru($handle);
    fclose($handle);
    exit;

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    86
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Décembre 2010
    Messages : 86
    Par défaut
    Merci mais je pense (sans avoir essayé ) que le code que tu me fournit au dessus, ne correspond pas a ma demander... la requete dont j'ai besoin de téléchargerCSV, est celle qui m'affiche les résultats du formulaire, ce qui j'imagine corse un peu le tout.....

    et la plupart des modif que j'ai apporté, me retournent des erreurs genre
    "header already sent in line....."

  9. #9
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    Citation Envoyé par lukyVJ Voir le message
    Merci mais je pense (sans avoir essayé ) que le code que tu me fournit au dessus, ne correspond pas a ma demander... la requete dont j'ai besoin de téléchargerCSV, est celle qui m'affiche les résultats du formulaire, ce qui j'imagine corse un peu le tout.....

    et la plupart des modif que j'ai apporté, me retournent des erreurs genre
    "header already sent in line....."

    a toi de faire la même requête...

    ton header est déjà envoyer pas le HTML d'avant, il faut le faire dans une autre page, t'as qu'a mettre la requête en SESSION

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    86
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Décembre 2010
    Messages : 86
    Par défaut
    Merci pour ta réponse sealth
    bon tout est bon, et je vous remercie pour vos réponses, seul problème, sealth, tu me parle de mettre ma requête en mode SESSION..
    Je ne sais trop comment procéder :/ donc je cherche un peu sur les forums, mais ton aide est biensure, encore la bienvenue.

    luky

  11. #11
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    Citation Envoyé par lukyVJ Voir le message
    Merci pour ta réponse sealth
    bon tout est bon, et je vous remercie pour vos réponses, seul problème, sealth, tu me parle de mettre ma requête en mode SESSION..
    Je ne sais trop comment procéder :/ donc je cherche un peu sur les forums, mais ton aide est biensure, encore la bienvenue.

    luky
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $_SESSION['query'] = $requete;

    et dans t'as autre page tu feras
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $sql = $_SESSION['query'];

  12. #12
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    qu'est ce que tu comprends pas ?

  13. #13
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    86
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Décembre 2010
    Messages : 86
    Par défaut
    Je ne saisis pas si je dois changer le contenu :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $_SESSION['query'] = $requete;
    .

  14. #14
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    Citation Envoyé par lukyVJ Voir le message
    Je ne saisis pas si je dois changer le contenu :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $_SESSION['query'] = $requete;
    .
    non, faut pas le changer, la requête est la meme

  15. #15
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    86
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Décembre 2010
    Messages : 86
    Par défaut
    Ok et je l'inclus dans la page ou ou je souhaite effectuer mon exportation CSV.?

  16. #16
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    Citation Envoyé par lukyVJ Voir le message
    Ok et je l'inclus dans la page ou ou je souhaite effectuer mon exportation CSV.?
    comme j'ai dis, tu dois faire 2 page différente, ta page de resultat et la page du CSV, juste faire un lien "télécharger" qui pointe vers le CSV, a la place de faire un include

  17. #17
    Membre averti
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 28
    Par défaut
    bonjour à tous, je profite de cette discussion pour aussi demander de l'aide :/

    Je veux aussi exporter des données sous forme de tableau, ce que j'ai fait grace à une seconde page (exportxls.php) appélée par un formulaire.

    Le probleme, c'est qu'il semble que cela marche qu'avec un nombre restreint de données, car qu'en j'ai qlq centaines de lignes, patatra, la page exportxls.php s'affiche dans le navigateur au lieu d'une boite de dialogue me demandant d'ouvrir ou enregistre les fichier .xls

    voici le code pour l'export :

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    <?php
    //------------------------------
    //ici juste pour connexion et base
    session_start();
    $identifiant=$_SESSION['identifiant'];
    $motdepasse=$_SESSION['motdepasse'];
     
    if(!@mysql_connect("localhost",$identifiant,$motdepasse)){
    	echo "<center>Probleme de connexion</center>";
    }
     
    //choix base
    if(!@mysql_select_db("ma base de données")){
    	echo "<center>Probleme de choix de base</center>";
    }
    //------------------------------
     
    $query=@$_POST['query'];//ma requete (champs, tables etc.)
    $indicemax=@$_POST['indicemax'];//egale au nombre total de champs selectionnés
     
    $filename='sauv_table.xls';
    $boolean=0;
    $contents='';
    //ici pour faire les entetes des colonnes
    for ($k=0; $k<=$indicemax; $k++){
    	if( isset($_POST[$k])){//si champ existe
    		$champ[$k]=$_POST[$k];//recupere info page precedente 
    		if ($boolean==0){
    			$contents = $champ[$k];
    			$boolean=1;
    		}
    		else{
    			$contents = $contents."\t".$champ[$k];
    		}
    	}
    }
    $contents = $contents."\n";//ma ligne entete
    //puis le corps du tableau
    $result=mysql_query($query)or die (mysql_error());//requetage
    $nb=mysql_num_fields($result);
    $booleanbis=0;
     
    while ($affichage=mysql_fetch_array($result)){
    	for ($i=1; $i<=$nb; $i++){
    		if ($booleanbis==0){
    			$contents = $contents.$affichage[$i-1];
    			$booleanbis=1;
    		}
    		else{
    			$contents = $contents."\t".$affichage[$i-1];
    		}
    	}
    	$contents = $contents."\n";
    	$booleanbis=0;
    }
     
    echo $contents;
     
    header('Content-type: application/ms-excel');
    header('Content-Disposition: attachment; filename='.$filename);
     
    ?>
    Et comme je disais , qu'en y a trop de ligne (enfin il me semble) la page exportxls.php s'affiche avec le resultat et sans message d'erreur !


  18. #18
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    tu fais ton header après envoyé les donnée c'est pas logique,
    utilise le code que j'ai mis plus haut

    EDIT : t'as pas peur pour le $query = $_POST['query'] ? un coup de DROP DATABASE et c'est finit

  19. #19
    Membre averti
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 28
    Par défaut
    Bonjour,

    Bien évidemment que non ! je n'ai pas peur d'un DROP DATABASE (c'est l'insouciance du débutant qui parle ). En fait, c'est pas possible pour l'utilisateur lambda puisqu'on n'a pas le choix de faire la requete comme on le souhaite à travers la page, elle est dirigée et commence obligatoirement par un SELECT.

    Pour le header, il me semble qu'en je le mettant en haut, c'est le fichier .php que je télécharge !?! j'essaierai de voir demain sur mon poste.

  20. #20
    Membre averti
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 28
    Par défaut
    Effectivement, avec un header en début, cela marche !!!

    Le fait que je récupéré le fichier avec le nom de la page exportxls.php été du au fait que la variable nommant le fichier été en dessous de l'header remonté
    Comme quoi, on bute parfois sur des sottises improbables

Discussions similaires

  1. [XL-2003] vba, stocker des résultats dans un fichier csv
    Par linann dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 19/06/2010, 21h17
  2. DBCC SQLPERF ( LOGSPACE ) Interprétation des résultats
    Par Labienus dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 20/07/2004, 15h50
  3. Grouper et concatener des résultats
    Par Koo dans le forum Langage SQL
    Réponses: 3
    Dernier message: 07/07/2004, 10h09
  4. Select, union, éliminer des résultats.
    Par franculo_caoulene dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 10/06/2004, 09h42
  5. Réponses: 3
    Dernier message: 18/05/2003, 00h16

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