[RESOLU] Extraction d'une variable mysql vers Word

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 : [RESOLU] Extraction d'une variable mysql vers Word

Re: Extraction d'une variable mysql vers Word

par wotahan » 10 oct. 2012, 12:23

Ok super merci.
J'avais pas fini ma boucle for...
Pour ceux que ça intéresse il faut remplacer par :
//---boucle d'enregistrement des données dans la variable $texte 
$j = 0;
$nb_champs = mysql_num_fields($result); 
while($row = mysql_fetch_row($result)) 
{ 
	$texte = ""; 
	for($j=0; $j<$nb_champs ; $j++) {
 
Ca fait pas tout à fait un fichier Word, mais plutot un txt... Mais c'est le mieux que j'ai trouvé...

Re: Extraction d'une variable mysql vers Word

par Mazarini » 09 oct. 2012, 14:19

Si tu enlèves les header(), tu verras les erreurs php et tu pourras déboguer ton script.

Re: Extraction d'une variable mysql vers Word

par wotahan » 09 oct. 2012, 14:07

Mince.
Mais bon, pour l'instant mon script n'arrive même pas à télécharger quoi que ce soit...

Re: Extraction d'une variable mysql vers Word

par Mazarini » 09 oct. 2012, 13:30

Ton problème viens du fait que le contenu que tu envoies est un fichier texte et non un fichier word.
Si tu ouvres un fichier word avec un éditeur de texte (notepad, ultraedit...), tu verras que ce n'est pas simplement du texte, mais plein de caractères utilisés par word pour la mise en forme.

J'ai l'explication de ton problème, mais pas la solution. D'ailleurs j'espère que l'on ne me demandera jamais de faire du word avec php :oops:

Extraction d'une variable mysql vers Word

par wotahan » 09 oct. 2012, 13:12

Bonjour à tous,

Voilà tout est presque dit dans le titre.
Je voudrais extraire la variable "Resume" d'une bdd mysql vers un fichier Word.
J'ai le script suivant qui plante. Mais je ne vois pas pourquoi.
quelqu’un pourrait regarder ce qui ne va pas?
Merci d'avance :
<?php

//select 
$host='***'; //nom du seveur 
$bdd='***'; //nom de la base de données 
$login=$_POST['Login']; //login de l'utilisateur 
$pwd=$_POST['Mdp']; // mot de pass 

// Connexion à la base de données
mysql_connect($host, $login, $pwd) or die ("Connexion Impossible");
mysql_select_db("$bdd") or die ("Connexion Impossible");


//----on définit le type de fichier 
$type_fichier = "msword"; 

//----on définit l'extension 
$extension = "doc"; 

//---- headers 
//----type fichier 
header("content-type:application/$type_fichier"); 


//----type extension 
header("content-disposition:.doc; filename=Soumissions.$extension"); 


//----date + titre 
$now_date = date('d-m-Y H:i'); 
$titre = "Liste des résumés  éditée le $now_date"; 

//---- libéllé requete SQL 
$requete = "SELECT Resume FROM Soumission"; 




//---- exécution requete SQL 
$result = @mysql_query($requete) or die(mysql_error()); 

//---- separateur 
$sep = "\n"; 

//---- affichage titre 
echo("$titre\n\n\n"); 


//---boucle d'enregistrement des données dans la variable $texte 
$j = 0; 
while($row = mysql_fetch_row($result)) 
{ 
	$texte = ""; 
	for($j=0; $j) { 
//----noms des champs 
$texte .= mysql_field_name($result,$j) . " : "; 


//----contenu 
if(isset($row[$j])) 
$texte .= "NULL".$sep; 
elseif ($row[$j]= "") 
$texte .= "$row[$j]".$sep; 
else 
$texte .= "".$sep; 
} 

//----on enlève le "$" 
$texte = str_replace($sep."$", "", $texte); 
$texte .= "\t"; 
print(trim($texte)); 
print "\n\n"; 
$j++; 
} 

//----validation que le fichier a bien été rempli 
return (true); 

?>