Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 04/02/2011, 10h37   #1
Invité régulier
 
lucas bonomi
Inscription : décembre 2010
Messages : 86
Détails du profil
Informations personnelles :
Nom : lucas bonomi
Âge : 21
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : décembre 2010
Messages : 86
Points : 7
Points : 7
Envoyer un message via MSN à lukyVJ Envoyer un message via Skype™ à lukyVJ
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 :
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 :
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.
lukyVJ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/02/2011, 10h44   #2
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 466
Points : 8 466
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
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/02/2011, 10h55   #3
Invité régulier
 
lucas bonomi
Inscription : décembre 2010
Messages : 86
Détails du profil
Informations personnelles :
Nom : lucas bonomi
Âge : 21
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : décembre 2010
Messages : 86
Points : 7
Points : 7
Envoyer un message via MSN à lukyVJ Envoyer un message via Skype™ à lukyVJ
Comme conseillé plus haut, j'ai utilisé FPUTCSV, mais la réponse du script :

Code :
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
lukyVJ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/02/2011, 11h01   #4
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 466
Points : 8 466
il faut que php est les droit pour creer le fichier, mais tu peux le creer dans le dossier temporaire en utilisant juste tmpfile
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/02/2011, 11h03   #5
Invité régulier
 
lucas bonomi
Inscription : décembre 2010
Messages : 86
Détails du profil
Informations personnelles :
Nom : lucas bonomi
Âge : 21
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : décembre 2010
Messages : 86
Points : 7
Points : 7
Envoyer un message via MSN à lukyVJ Envoyer un message via Skype™ à lukyVJ
Je dois 'Pluger' ce bout de code dans ma page ?

Code :
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
?>
lukyVJ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/02/2011, 11h22   #6
Invité régulier
 
lucas bonomi
Inscription : décembre 2010
Messages : 86
Détails du profil
Informations personnelles :
Nom : lucas bonomi
Âge : 21
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : décembre 2010
Messages : 86
Points : 7
Points : 7
Envoyer un message via MSN à lukyVJ Envoyer un message via Skype™ à lukyVJ
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..
lukyVJ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/02/2011, 13h16   #7
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 466
Points : 8 466
t'as copié un code sans le comprendre la.


tien un exemple pour créer simplement un CSV :

Code :
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;
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/02/2011, 15h45   #8
Invité régulier
 
lucas bonomi
Inscription : décembre 2010
Messages : 86
Détails du profil
Informations personnelles :
Nom : lucas bonomi
Âge : 21
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : décembre 2010
Messages : 86
Points : 7
Points : 7
Envoyer un message via MSN à lukyVJ Envoyer un message via Skype™ à lukyVJ
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....."
lukyVJ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/02/2011, 15h48   #9
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 466
Points : 8 466
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
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/02/2011, 16h50   #10
Invité régulier
 
lucas bonomi
Inscription : décembre 2010
Messages : 86
Détails du profil
Informations personnelles :
Nom : lucas bonomi
Âge : 21
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : décembre 2010
Messages : 86
Points : 7
Points : 7
Envoyer un message via MSN à lukyVJ Envoyer un message via Skype™ à lukyVJ
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
lukyVJ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/02/2011, 16h54   #11
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 466
Points : 8 466
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 :
1
2
 
$_SESSION['query'] = $requete;

et dans t'as autre page tu feras
Code php :
1
2
 
$sql = $_SESSION['query'];
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/02/2011, 17h08   #12
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 466
Points : 8 466
qu'est ce que tu comprends pas ?
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/02/2011, 17h13   #13
Invité régulier
 
lucas bonomi
Inscription : décembre 2010
Messages : 86
Détails du profil
Informations personnelles :
Nom : lucas bonomi
Âge : 21
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : décembre 2010
Messages : 86
Points : 7
Points : 7
Envoyer un message via MSN à lukyVJ Envoyer un message via Skype™ à lukyVJ
Je ne saisis pas si je dois changer le contenu :
Code :
1
2
 
$_SESSION['query'] = $requete;
.
lukyVJ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/02/2011, 17h17   #14
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 466
Points : 8 466
Citation:
Envoyé par lukyVJ Voir le message
Je ne saisis pas si je dois changer le contenu :
Code :
1
2
 
$_SESSION['query'] = $requete;
.
non, faut pas le changer, la requête est la meme
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/02/2011, 17h27   #15
Invité régulier
 
lucas bonomi
Inscription : décembre 2010
Messages : 86
Détails du profil
Informations personnelles :
Nom : lucas bonomi
Âge : 21
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : décembre 2010
Messages : 86
Points : 7
Points : 7
Envoyer un message via MSN à lukyVJ Envoyer un message via Skype™ à lukyVJ
Ok et je l'inclus dans la page ou ou je souhaite effectuer mon exportation CSV.?
lukyVJ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/02/2011, 17h29   #16
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 466
Points : 8 466
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
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/03/2011, 17h40   #17
Candidat au titre de Membre du Club
 
Inscription : mai 2005
Messages : 16
Détails du profil
Informations forums :
Inscription : mai 2005
Messages : 16
Points : 13
Points : 13
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 :
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 !

lukeabate est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/03/2011, 18h12   #18
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 466
Points : 8 466
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
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/03/2011, 19h30   #19
Candidat au titre de Membre du Club
 
Inscription : mai 2005
Messages : 16
Détails du profil
Informations forums :
Inscription : mai 2005
Messages : 16
Points : 13
Points : 13
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.
lukeabate est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2011, 08h53   #20
Candidat au titre de Membre du Club
 
Inscription : mai 2005
Messages : 16
Détails du profil
Informations forums :
Inscription : mai 2005
Messages : 16
Points : 13
Points : 13
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
lukeabate est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h13.


 
 
 
 
Partenaires

Hébergement Web