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 :
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
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.