export csv probleme header

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : export csv probleme header

Re: export csv probleme header

par michmich30 » 07 avr. 2010, 17:26

pareil tu le mets plus haut
ma valeur $param_requete est toujours a blanc dans le f(isset($_POST['Export']))
comment puis je l'avoir globale merci
gerer avec une session dans la session j'ai memoriser ma variable
merci

Re: export csv probleme header

par michmich30 » 07 avr. 2010, 14:21

pareil tu le mets plus haut
ma valeur $param_requete est toujours a blanc dans le f(isset($_POST['Export']))
comment puis je l'avoir globale merci

Re: export csv probleme header

par stealth35 » 07 avr. 2010, 11:35

pareil tu le mets plus haut

Re: export csv probleme header

par michmich30 » 07 avr. 2010, 11:18

tu mets ta connexion pg en premier, ensutie ta condition POST et apres tout le reste
ca avance ca avance et je te remercie vivement bravo l'expert PHP j'ai plus l'erreur grace a toi
grosso modo mon programme est un editeur de requete
je selectionne ma table , champ mets une valeur je clique sur le bouton validation cela s'affiche
puis sur export j'exporte en excel

-- un dernier bemol quand je valide (bouton valider) je recupere la requete dans $param_requete
et quand je clique sur le bouton export j'aimerez l'envoyer dans if(isset($_POST['Export']))
mais $param_requete est a blanc , existe t'il une facon de passer ce parametre
je te remercie


Code : Tout sélectionner

<?php $conn = pg_pconnect("host=localhost port=5432 dbname=eco user=postgres password=postgres"); if(isset($_POST['Export'])) { [b]/*$values = pg_query("SELECT * FROM w_exemple.fos_sur_mer limit 10 ");*/ $values = pg_query($param_requete); */ ici $param_requete est a vide */[/b] while ($rowr = pg_fetch_row($values)) { for ($j=0;$j<100;$j++) { $csv_output .= $rowr[$j]."; "; } $csv_output .= "\n"; } $filename = $file."_".date("Y-m-d_H-i",time()); header("Content-type: application/vnd.ms-excel"); header("Content-disposition: csv" . date("Y-m-d") . ".csv"); header( "Content-disposition: filename=".$filename.".csv"); print $csv_output; exit; } ?> <html> <!-- CSS pour contourner le bug du textarea sous mozilla --> <style type="text/css"> textarea#contenu { height: 20px; width:10%; } </style> <!-- PHP_SELF lors de la validation rememorise les variables --> <form name="unform" action="<?$_SERVER['PHP_SELF'];?>" method="post"> tables : <BR> <SELECT NAME="tables" MULTIPLE SIZE="8" onchange="document.unform.submit();"> <?php /*récupére le nom du schema envoyé par tigra menu voir menu_items.js*/ $nom1 = $_GET['schemaInput']; $Schema=$nom1; /* AFFICHE LES TABLES DU SCHEMA et les mets dans une liste */ $requete_tables_du_schema ="select distinct(relname) from pg_attribute, pg_class, pg_namespace where attnum>0 and attrelid=pg_class.oid and relnamespace=pg_namespace.oid and nspname="."'".$Schema."'"; $resultat = pg_query($conn,$requete_tables_du_schema); $tableau = array(); while($ligne = pg_fetch_assoc ($resultat)) { $tableau[] = $ligne; /* memorisation des tables du schema dans un tableau */ } ?> tables : <BR> <?php /* lit le tableau et affiche les schemas */ foreach ($tableau as $tab1) { $sel=isset($_POST['tables'])&&($tab1[relname]==$_POST['tables'])?'selected="selected"':' '; echo "<OPTION VALUE=".$tab1["relname"]." ".$sel." >".$tab1["relname"]."</option>"; } ?> </SELECT> <!-- espace presentation --> &nbsp;&nbsp;&nbsp; Chercher Pour : &nbsp;&nbsp;&nbsp; <?php /* MEMORISE Le click de la selection de la table */ if(isset($_POST["tables"])){ $tavariable=$_POST["tables"]; } ?> <?php /* affiche le resultat dans un tableau */ include('cmb_champs_table.php'); ?> &nbsp;&nbsp;&nbsp; <?php /* AFFICHE LES criteres > < = etc ... */ include('criteres.php'); ?> &nbsp;&nbsp;&nbsp; <TEXTAREA id="contenu" NAME="contenu" COLS=1 ROWS=1> <?php /* recupere le contenu du textarea */ if(isset($_POST["contenu"])) echo $_POST["contenu"]; ?> </TEXTAREA> <!-- Validation du bouton --> <INPUT TYPE="submit" NAME="Valider" VALUE="OK"> <INPUT TYPE="submit" NAME="Export" VALUE="Export"> </FORM> <?php /* BOUTON VALIDER RECUPERATION PARAMETRE */ if(isset($_POST['Valider'])) { $criteres =$_POST['criteres']; $ChoixTable =$_POST['tables']; $ChoixChamp =$_POST['cmb_champs_table']; $Choixvaleur=$_POST['contenu']; $nomschema = $_GET['schemaInput']; if ($criteres=="Egal") { [b] $param_requete="select * from ".$nomschema.".".$ChoixTable." where ".$ChoixChamp."=". "'" .$Choixvaleur."'". " limit 500 ";[/b] } // Affichage dans un tableau include('tableau.php'); } ?> </html>

Re: export csv probleme header

par stealth35 » 07 avr. 2010, 10:22

tu mets ta connexion pg en premier, ensutie ta condition POST et apres tout le reste

Re: export csv probleme header

par michmich30 » 07 avr. 2010, 10:20

ta condition isset($_POST['Export']), devrais etre avant ta sortie html
ok merci par rapport a mon code j'arrive pas a le ranger , peut tu m'aider merci

Re: export csv probleme header

par stealth35 » 07 avr. 2010, 10:12

ta condition isset($_POST['Export']), devrais etre avant ta sortie html

Re: export csv probleme header

par michmich30 » 07 avr. 2010, 10:10

oui tu dois rien écrire en sortie avant de mettre header
ok d'accord mais je fais comment ?
je trouve pas la combine , merci

Re: export csv probleme header

par stealth35 » 07 avr. 2010, 10:06

oui tu dois rien écrire en sortie avant de mettre header

export csv probleme header

par michmich30 » 07 avr. 2010, 09:29

Bonjour,
voici mon code je veux exporter une requete en excel lors du click sur le bouton export j'ai ce message

Warning: Cannot modify header information - headers already sent by (output started at D:\test generator eco\test\htdocs\eco\interrogation.php:4) in D:\test generator eco\test\htdocs\eco\interrogation.php on line 86

Warning: Cannot modify header information - headers already sent by (output started at D:\test generator eco\test\htdocs\eco\interrogation.php:4) in D:\test generator eco\test\htdocs\eco\interrogation.php on line 87

Warning: Cannot modify header information - headers already sent by (output started at D:\test generator eco\test\htdocs\eco\interrogation.php:4) in D:\test generator eco\test\htdocs\eco\interrogation.php on line 88

on m'a dit que je ne devez pas utiliser les balises HTML, comment contourner le probléme
existe t'il une autre solution ( code java script ou je ne sais quoi pour contoruner les headers)
Merci


Code : Tout sélectionner

<html> <!-- CSS pour contourner le bug du textarea sous mozilla --> <style type="text/css"> textarea#contenu { height: 20px; width:10%; } </style> <!-- PHP_SELF lors de la validation rememorise les variables --> <form name="unform" action="<?$_SERVER['PHP_SELF'];?>" method="post"> tables : <BR> <SELECT NAME="tables" MULTIPLE SIZE="8" onchange="document.unform.submit();"> <?php $nom1 = $_GET['schemaInput']; $Schema=$nom1; /* Connection postgres */ $conn = pg_pconnect("host=localhost port=5432 dbname=base user=postgres password=postgres"); if (!$conn) { echo "Une erreur s'est produite.\n"; exit; } /* AFFICHE LES TABLES DU SCHEMA et les mets dans une liste */ $requete_tables_du_schema ="select distinct(relname) from pg_attribute, pg_class, pg_namespace where attnum>0 and attrelid=pg_class.oid and relnamespace=pg_namespace.oid and nspname="."'".$Schema."'"; $resultat = pg_query($conn,$requete_tables_du_schema); $tableau = array(); while($ligne = pg_fetch_assoc ($resultat)) { $tableau[] = $ligne; /* memorisation des tables du schema dans un tableau */ } ?> tables : <BR> <?php /* lit le tableau et affiche les schemas */ foreach ($tableau as $tab1) { $sel=isset($_POST['tables'])&&($tab1[relname]==$_POST['tables'])?'selected="selected"':' '; echo "<OPTION VALUE=".$tab1["relname"]." ".$sel." >".$tab1["relname"]."</option>"; } ?> </SELECT> <?php /* MEMORISE Le click de la selection de la table */ if(isset($_POST["tables"])){ $tavariable=$_POST["tables"]; } ?> <?php /* affiche le resultat dans un tableau */ include('cmb_champs_table.php'); ?> <INPUT TYPE="submit" NAME="Export" VALUE="Export"> </FORM> <?php [b]if(isset($_POST['Export'])) { $values = pg_query("SELECT * FROM w_exemple.test limit 100 "); while ($rowr = pg_fetch_row($values)) { for ($j=0;$j<100;$j++) { $csv_output .= $rowr[$j]."; "; } $csv_output .= "\n"; } $filename = $file."_".date("Y-m-d_H-i",time()); header("Content-type: application/vnd.ms-excel"); header("Content-disposition: csv" . date("Y-m-d") . ".csv"); header( "Content-disposition: filename=".$filename.".csv"); print $csv_output; exit; } ?>[/b] </html>