hallo,
will daten in eine mySQL datenbank einlesen. Wäre ja eigentlich kein Problem, geht ja am schnellsten mit der import funktion in php-myadmin. Bei meinen daten besteht jedoch das problem, dass ich keinerlei delimiter o.ä. habe. Das heisst, ich muss mit positionsangaben arbeiten - finde aber nirgendwo was darüber. Das einzige was ich gefunden habe war das hier:
Code:
$z = file("DE200.out.035");
echo "<pre>\n";
for($i=0; $i < count($z); $i++){
if($z[$i]{0} != '_'){
$zeile = $z[$i];
$aLog[$i]["wochentag"] = trim(substr($zeile,0,4));
$aLog[$i]["tag"] = trim(substr($zeile,4,2));
$aLog[$i]["monat"] = trim(substr($zeile,7,3));
$aLog[$i]["jahr"] = trim(substr($zeile,11,4));
$aLog[$i]["uhrzeit"] = trim(substr($zeile,19,5));
$aLog[$i]["meldung"] = trim(substr($zeile,28,1));
}
}
echo "</pre>\n";
$handle = mysql_connect("localhost","root","");
mysql_select_db("cdr_reader");
for($i=1; $i < count($aLog); $i++){
$sql = "insert into rein(log_wt,log_tag,log_monat,log_jahr,log_uhrzeit,log_meldung) values(";
$sql .= "'".$aLog[$i]["wochentag"];
$sql .= "'".$aLog[$i]["tag"];
$sql .= "'".$aLog[$i]["monat"];
$sql .= "'".$aLog[$i]["jahr"];
$sql .= "'".$aLog[$i]["uhrzeit"];
$sql .= "'".$aLog[$i]["meldung"];
(ja, ich weiss, dass die DB noch kein passwort hat...)
zur erklärung: die wertenamen sind rein fiktiv (wochentag etc), da ich das script nur kopiert habe von einem lehrgang auf dem ich mal war. Leider bekomme ich keinerlei fehlermeldung, kann mir also im moment nicht erklären warum nichts in die DB geschrieben wird. Ich weiss auch nicht, ob obiger code das mittel der wahl ist, wenn jemand etwas besseres, einfacheres weiss, wäre ich sehr dankbar.
ein beispiel der daten kann ich leider nicht liefern wegen vertraulichkeit und so. Ich kann dazu aber sagen, dass alle daten direkt aneinander stehen und tatsächlich nur durch ihre (fixen) positionen zu unterscheiden sind.