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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  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..

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