";
$list=file_get_contents($filePath);
$decodedList = json_decode($list, true);
//Uppkoppling mot databas.
$link = mysql_connect('localhost', 'root', 'xxx');
if (!$link) {
die('Kunde inte öppna DB: ' . mysql_error());
}
//Välj databas som ska användas.
mysql_select_db("Diary", $link);
//Loopa igenom alla träningspass. För varje träningspass ska en post skapas i training-tabellen.
foreach ($decodedList as $training)
{
//Spara undan passets id, som är den unika identiteten.
$id=$training["id"];
//Initiera två strängar som kommer att användas för att skapa inserten.
$columns="";
$values="";
//Loopa igenom alla parametrar för träningspasset.
foreach ($training as $key => $value)
{
//Intervaller ska läggas in i intervalls-tabellen.
if($key=="intervals")
{
//id+number blir unik identifierare i intervalls-tabellen.
$number=0;
//Loopa igenom alla intervaller.
foreach ($value as $intervals)
{
//Initiera två strängar som kommer att användas för att skapa inserten.
$intervalColumns="id,number";
$intervalValues=$id.",".$number;
$number=$number+1;
//Loopa igenom alla parametrar för intervallen.
foreach ($intervals as $intervalsKey => $intervalsValue)
{
$intervalColumns=$intervalColumns.",";
$intervalValues=$intervalValues.",";
//Strängar måste ha fnuttar.
if (is_string($intervalsValue))
{
$intervalsValue="'".$intervalsValue."'";
}
$intervalColumns=$intervalColumns.$intervalsKey;
$intervalValues=$intervalValues.$intervalsValue;
}
//Visa insert-satsen på skärmen.
echo 'INSERT INTO intervals ('.$intervalColumns.')';
echo '
';
echo 'VALUES ('.$intervalValues.');';
echo '
';
echo '
';
//Gör insert på intervallen.
mysql_query("INSERT INTO intervals (".$intervalColumns.") VALUES (".$intervalValues.");");
}
}
//Övningar ska läggas in i excersises-tabellen.
if($key=="exercises")
{
//id+number blir unik identifierare i excersises-tabellen.
$number=0;
foreach ($value as $exercises)
{
//Initiera två strängar som kommer att användas för att skapa inserten.
$exerciseColumns="id,number";
$exerciseValues=$id.",".$number;
$number=$number+1;
//Loopa igenom alla parametrar för intervallen.
foreach ($exercises as $exercisesKey => $exercisesValue)
{
$exerciseColumns=$exerciseColumns.",";
$exerciseValues=$exerciseValues.",";
//Strängar måste ha fnuttar.
if (is_string($exercisesValue))
{
$exercisesValue="'".$exercisesValue."'";
}
$exerciseColumns=$exerciseColumns.$exercisesKey;
$exerciseValues=$exerciseValues.$exercisesValue;
}
//Visa insert-satsen på skärmen.
echo 'INSERT INTO exercises ('.$exerciseColumns.')';
echo '
';
echo 'VALUES ('.$exerciseValues.');';
echo '
';
echo '
';
//Gör insert på övningen.
mysql_query("INSERT INTO exercises (".$exerciseColumns.") VALUES (".$exerciseValues.");");
}
}
if ($columns<>"")
{
$columns=$columns.",";
$values=$values.",";
}
//Fixa datumformatet.
if ($key == "startDateTime" or $key == "creationDateTime")
{
$value=str_replace('T',' ',$value);
$value=str_replace('Z','',$value);
}
//Plocka bort arrayer. Dataförstörande, men intervals och excersises är redan omhändertagna.
if (is_array($value))
{
$value=1;
}
//Strängar måste ha fnuttar.
if (is_string($value))
{
$value="'".$value."'";
}
$columns=$columns.$key;
$values=$values.$value;
}
//Visa insert-satsen på skärmen.
echo 'INSERT INTO trainings ('.$columns.')';
echo '
';
echo 'VALUES ('.$values.');';
echo '
';
echo '
';
//Gör insert på övningen.
mysql_query("INSERT INTO trainings (".$columns.") VALUES (".$values.");");
}
//Stäng DB koppling
mysql_close($link);
?>