Selection de données mysql pour ecrire dans un fichier - PHP - Programmation
Marsh Posté le 22-06-2005 à 15:34:31
 
   
   
   
 
Marsh Posté le 22-06-2005 à 16:02:31
tu as utilisé deux fois la variable $fichiertxt sans t'en rendre compte : une fois pour écrire ce que tu voulais, une autre fois en tant que ressources d'ouverture du fichier. 
 
Du coup $fichiertxt correspond à la ressource et t'écris Resource id #4Resource id #4 dans ton fichier. 
 
Modifie donc ce passage :  
| Code : 
 | 
 
 
change le nom
Marsh Posté le 23-06-2005 à 15:14:47
ok merci pour vos infos, j'ai modifié mon code mais le resultat est le meme : mon fichier texte contient toujours la fameuse ligne(resource...)   
  
 
<debut> 
[...] 
//Traitement de la requête 
$req = mysql_query($sql) or die('Erreur dans la requête SQL !<br>'.$sql.'<br>'.mysql_error()); 
$texte = $req; 
 
//ouverture du fichier texte 
$file = fopen("lesemails.txt","w+" );   
  
while($data = mysql_fetch_assoc($req)) 
{ 
  echo '<br>' .$data['destinataire'] ; 
  
  //ecriture des données dans le fichier texte   
  fwrite($file, $texte);       
   
  //saisir les emails sur une ligne 
  fputs($file, $texte."\n" );    
  
} 
  
// femerture du fichier texte  
fclose($file); 
 
[...]  
<fin>
Marsh Posté le 23-06-2005 à 15:27:34
Ben ouais... Tu fais : 
| fwrite($file, $texte); | 
 
Alors que $texte est le résultat de la requête  Il faut faire :
 Il faut faire : 
| fwrite($file, "\n" . $data['destinataire']); | 
 
Y'a des fois... 
Marsh Posté le 23-06-2005 à 16:09:54
| FlorentG a écrit : Ben ouais... Tu fais :  
   
   | 
 
 
 
  wouhouuuu !!! ça marche
  wouhouuuu !!! ça marche   
  
merci m'sieur ! 
ça craint l'erreur sur fwrite, y'a des fois...  
   
  
 
  
  
Marsh Posté le 22-06-2005 à 12:18:12
Bonjour,
 
 
j'ai fait une page web en php afin d'afficher les adresses email (saisies dans un formulaire) grâce à une requête de selection en sql qui va les chercher dans la base de données mysql hébergé sur le serveur web, tout ce qu'il y a de plus simple.
Dans le même temps, je veux que ces adresses s'affichent également dans un fichier texte par le biais de l'ecriture dans un fichier.
Résultats :
- la sélection des adresses a bien lieu et elles s'affichent dans ma page web, ==> ok
- ces mêmes adresses ne s'affichent pas dans le fichier texte (qui se trouve sur le serveur web) et j'ai cette ligne "Resource id #4Resource id #4" au lieu d'avoir les adresses.
Voici le script :
<debut du script>
// on crée la requête SQL
$sql = 'SELECT destinataire, date FROM mail ORDER BY destinataire';
//Traitement de la requête
$req = mysql_query($sql) or die('Erreur dans la requête SQL !<br>'.$sql.'<br>'.mysql_error());
$texte = $req;
// on fait une boucle qui va faire un tour pour chaque enregistrement
while($data = mysql_fetch_assoc($req))
{
//on affiche les informations ligne par ligne
echo '<br>' .$data['destinataire'] ;
// ecriture dans un fichier
$fichiertxt = ("ftp://login:motdepasse@nom_du_serveur_ftp/fichier.txt" );
//ouverture du fichier texte
$fichiertxt = fopen("lesemails.txt","w" );
// ecriture des données dans le fichier texte
fwrite($fichiertxt,$texte);
//saisir les emails sur une ligne
fputs($fichiertxt,$texte."\n" );
// femerture du fichier texte
fclose($fichiertxt);
}
// on ferme la connexion à mysql
mysql_close();
</fin du script>
Aidez moi à trouver l'erreur, je vous remercie d'avance.