Bonjour,
je suis actuellement sur un projet ou je dois récupérer des données stockées dans une base de données et éditer un fichier txt avec ces données.
J’utilise pour ça une jointures externes sur plusieurs tables, le problème c’est que certains champs que je veux éditer sur le fichier txt ne sont pas remontées puisque les index correspondants de sont pas identiques. Pouvez vous me dire comment je peux contourner ce problème.
Voici le programme que j’ai écris:
// on supprime si le fichier existe deja
$fileSpanGaz = '/tests/spangaz/Spangaz.txt';
if (file_exists($_SERVER['DOCUMENT_ROOT']. $fileSpanGaz)){
echo 'le fichier <b>'.$_SERVER['DOCUMENT_ROOT']. '\\' . $fileSpanGaz.'</b> existe <br>';
unlink($_SERVER['DOCUMENT_ROOT']. $fileSpanGaz);
echo 'le fichier a été supprimé'."<br>";
}
//creation du fichier
$f=fopen($_SERVER['DOCUMENT_ROOT']. $file,"w+b");
echo 'le fichier à été créé'. "<br>";
$sqlQuery ='SELECT refBottle,
concentration,
expirationDate,
connections.lib as connections,
pollutants.lib as pollutant,
units.lib as unit
FROM bottles
LEFT OUTER JOIN connections ON bottles.id = connections.id
LEFT OUTER JOIN pollutants ON bottles.id = pollutants.id
LEFT OUTER JOIN units ON bottles.id = units.id ';
$selectRequest = $database->prepare($sqlQuery);
$selectRequest->execute();
$result = $selectRequest->fetchAll();
foreach ($result as $res){
$result=$res['refBottle']. " ".$res['connections']. " ".$res['pollutant']. " ".$res['concentration']. " ".$res['unit']. " ".$res['expirationDate'];
echo " $result <br>";
fwrite($f, $result);
fwrite($f, "\r\n");
}
fwrite($f, "\r\n");
fclose($f);
?>