<?php
/* *******************************************************************
* Import von Schuldaten vom Bildundportal des MSB
* Walter Hupfeld
* wh: 31.01.2017 - try-catch für Datenbank
* wh: 01.02.2017 - Optik
*********************************************************************/
require("config.php");
$numS = $_GET['s'];
$numS = (empty($numS)) ? 1 : $numS;
$numS = (int)$numS;
$file= $arrData[$numS]['xml'];
$strDB= $arrData[$numS]['db'];
?>
<!doctype html>
<html lang="de">
<head>
<title>Schulen einlesen</title>
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
</head>
<body>
<div class="container">
<h2>Schuldaten importieren</h2>
<div class="alert alert-info" role="alert"><strong>Lese Datei <?=$file?> </strong></div>
<div class="alert alert-info" role="alert"><strong>Importiere in Tabelle <?=$strDB?></strong></div>
<?php
if (($response_xml_data = file_get_contents($file))===false){
echo "Error fetching XML\n";
} else {
libxml_use_internal_errors(true);
$data = simplexml_load_string($response_xml_data);
//DEBUG: echo "<pre>"; print_r($data);echo "</pre>";
if (!$data) {
echo "Error loading XML\n";
foreach(libxml_get_errors() as $error) {
echo "\t", $error->message;
}
} else {
$db->query("truncate $strDB");
$numCounter=1;
foreach ($data as $key => $value) {
//DEBUG: echo $key ." => ".print_r($value) ."<br>";
$strSQL="insert into $strDB set ";
foreach ($value as $key2 => $value2) {
if ($key2=="E-Mail") $key2="E_Mail";
$strSQL .= $key2 ."='". addslashes($value2) ."',";
}
$strSQL=rtrim($strSQL,",");
//DEBUG: echo $strSQL."<br><br>";
if ($numCounter%100==0) echo ".";
$numCounter++;
try {
$db->query($strSQL);
} catch (PDOException $e) { echo $e->getMessage(); }
}
echo "<p>". $numCounter. " Datensätze eingelesen</p>";
}
}
?>
<p><a class="btn btn-primary" href="index.html">zurück</a></p>
</div>
</body>
</html>