Bonjour ,
j'ai une bdd avec une table "liste" contenant des informations sur des fichiers images ou textes .
Le but de ce script est de constituer un fichier texte contenant le chemin des fichiers appartenant a une certaine liste de façon a pouvoir passer ce fichier en argument d'un programme d'envoi de fichiers .
Le fichier texte doit etre formater de la sorte :
#type_fichier1#<chemin_fichier1>
#type_fichier2#<chemin_fichier2>
etc ...

Pour ce faire je recupere le nom d'une liste venant d'un formulaire puis je recherche dans ma bdd les fichiers qui la constituent .
Comme le resultat de la requete se trouve dans un tableau , je fait une boucle qui me permet: -de recuperer chaque entrée du tableau une par une
-de rechercher son type via une requete SQL
-d'écrire une ligne dans le fichier texte.

Seulement voila , après quelque tests je me rend compte que ma requete sql dans la boucle pose un pb , puisque qd je la met en commentaire et que je rentre un "type" en dur , le fichier est correctement constitué .
Si je décommente cette requete et que je l'affiche , je me rend compte que la variable $chemin_fichier est vide ... (alors qu'elle est bien renseignée si je commente la requete...) .



Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
<?php
session_start();
$liendb = mysql_connect("localhost","root", "" );
mysql_select_db("galinet");
$liste=$_POST['liste'];  
$sql="SELECT fichier FROM listes WHERE nom='".$liste."'" ; 
$retour=mysql_query($sql);
$nb_fichier = mysql_num_rows($retour);
 
/*ouverture d'un fichier */
$chemin_liste="./utilisateurs/".$_SESSION['identifiant']."/".$liste;
$fd = fopen($chemin_liste.".gali","a");
 
/*boucle d'écriture des fichier*/
for($i=1;$i<=$nb_fichier;$i++){
	/*récuperation du type de fichier : "image" ou "texte" */
	$tab_liste=mysql_fetch_array($retour);
	$chemin_fichier=$tab_liste['fichier']; 
 	$sql="SELECT type FROM image WHERE chemin='".$chemin_fichier."'"; 
 	$retour=mysql_query($sql);
	$tab_type=mysql_fetch_array($retour);
        $type=$tab_type['type'];
        /*ecriture*/
  	$chaine="#".$type."#".$nom_fichier."\n" ; 
	fwrite($fd,$chaine);
 
 
}


merci d'avance a celui qui peut me proposer une solution .
En espérant avoir été clair ...