[RESOLU] recuperer données d'un fichier

Petit nouveau ! | 4 Messages

10 avr. 2019, 21:27

bonsoir

je tente en vain de récuperer des données d'un fichier (qui peut etre tres long)
et de les mettre dans ma base de données.
je débute, donc les méthodes sont issues de nombreux exemples que j'ai pu lire sur le forum :mrgreen:

voici le fichier texte externe en exemple :
[KS_FERRARI_488_GT3@J3D_CIRCUIT_TEST]
DATE=1550775964149
TIME=79716

[KS_ALFA_GIULIA_QV@J3D_CIRCUIT_TEST2]
DATE=1550776222606
TIME=39768
je veux récupérer chaque ligne, séparer la première et les informations de la 2eme et la 3eme ligne.
sauf que dans ma table, il ne crée pas une seule ligne (suite à ma boucle), mais 4 entrées #-o

voici mon code :
<?php
$tab = array_map('trim', file('personalbest.ini'));
foreach($tab as $ligne){

$date = strstr($ligne, 'DATE=');
$date=substr($date,-strlen($date)+5); 
if ($date == "") {
}
else
{
echo 'date : '.$date.'<br/>';
}

$time = strstr($ligne, 'TIME=');
$time=substr($time,-strlen($time)+5); 
if ($time == "") {
}
else
{
echo 'chrono : '.$time.'<br/>';

}

$voiture = substr($ligne, 0, strpos($ligne,"@"));
$voiture=substr($voiture,-strlen($voiture)+1); 
if ($voiture == "") {
}
else
{
echo 'voiture : '.$voiture.'<br/>';
}

$track = strstr($ligne, '@');
$track=substr($track,-strlen($track)+1); 
$track = substr($track,0,-1);
if ($track == "") {
}
else
{
echo 'track : '.$track.'<br/>';
}

$servername = "servername";
$username = "username ";
$password = "password";
$dbname = "dbname";
$conn = mysqli_connect($servername, $username, $password, $dbname);
if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
}
$sql = "INSERT INTO hotlaps (id, Date, Track, Voiture, Chrono) VALUES('','$date','$track','$voiture','$time')";
if (mysqli_query($conn, $sql)) {

} else {
    echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}
mysqli_close($conn);
}

?>
merci pour votre aide

Mammouth du PHP | 2703 Messages

10 avr. 2019, 21:41

//connexion à la bdd

$tab = array_map('trim', file('personalbest.ini'));
for($i=0; $i < sizeof($tab); $i++){
$line1 = $tab[$i];
$i++;
$line2 = $tab[$i];
$i++;
$line3 = $tab[$i];

// code pour extraire les données de $line1 $line2 $line3

// insertion en bdd
}

// fermeture de la connexion à la bdd

Petit nouveau ! | 4 Messages

10 avr. 2019, 22:19

bonsoir or 1

merci bcp pour l'aide, cela fonctionne, meme si je n'arrive plus à découper les chaines, mais j'arriverai surement par la suite !
le plus dur a été résolu !
merci bcp ! bonne soirée