Wir haben eine Datenbank mit PCs, die erfasst, welche Art von Prozessor, welche Festplatte, welche Grafikkarte, welche IP, die Rechner haben und wer den Rechner gerade nutzt. Diese Datenbank wurde von einem Mitarbeiter vor 8 Jahren erstellt und ist weder normalisiert, noch in irgendeiner anderen Art und Weise den herkömmlichen Standards von Datenbanken angepasst.
Im Grunde ist es nur eine Excel Tabelle, die sich Datenbank schmipft.
Ich muss nun im Rahmen eines Praktikums in dieser Firma mit einer Programmiersprache (PHP), die ich nur aus der Schule aus einem Halbjahr kenne, diese alte Datenbank in eine normalisierte Form umbauen. Die neue Datenbankstruktur habe ich bereits fertig.
Nun geht es darum die Datensätze der alten Datenbank in die neue Datenbank zu migrieren.
Dazu wollte ich aus der alten Datenbank eine CSV Datei basteln, diese via PHP importieren und dann in die neue Datenbank (MYSQL) einsortieren. Als Kontrollzwischenschritt möchte ich jeweils einen Datensatz (also eine Zeile der CSV Datei) auf dem Bildschirm ausgeben (Linke Spalte). Dabei wird nach den Regeln, die ich zum Einsortieren in die neue Datenbank angelegt habe, der Inhalt der CSV Datei in die neue Datenbank einsortiert und erstmal ausgegeben (Rechte Spalte). Somit habe ich auf einer HTMLSeite 2 Spalten - auf der einen Seite die alte Datenbank und auf der anderen Seite die gleichen Daten, wie sie in der neuen Datenbank einsortiert sind. Ich kann also kontrollieren, ob meine Regeln, die ich für das Sortieren der Datensätze in die neue Datenbank angelegt habe, richtig sind.
Mit 2 Submitbuttons möchte ich dann die Zeile der CSV Datei weiterschalten können. Jeweils "Vor" oder "Zurück" und somit kontrollieren, ob das Sortieren für die anderen Datensätze auch stimmt.
Ich habe derzeit 3 Dateien.
dbmaske1.php -> Hier wird über ein "Durchsuchen" Feld die CSV Datei angegeben und an die nächste Datei weitergegeben
dbmaske2.php -> Hier findet die Gegenüberstellung eines Datensatzes der CSV Datei statt mit der Funktion jeweils einen Datensatz weiter und einen Datensatz zurück zu navigieren
dbmaske3.php -> Hier wird dann via PHP und den definierten Sortierregeln der Inhalt der alten CSV Datei unter Verwendung von MYSQL in die neue Datenbank geschrieben.
Danke für die Geduld, die Ihr mit mir habt und für die enorme Hilfe, die Ihr mir gerade seid!
Hier nochmal zum Copy und Pasten das Layout der 2ten Datei. Das hilft beim Verständnis des Problems glaube ich nochmal enorm. Ist mit Dreamweaver gemacht, der Code wird noch entmistet, aber damit ging es nun bedeutend schneller.
PHP:
<HTML><HEAD><TITLE>Datenbanktransfermaske</TITLE>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<STYLE type=text/css>
A:hover {
FONT-SIZE: 10px; COLOR: #ff0000; FONT-FAMILY: verdana; TEXT-DECORATION: none
}
A:link {
FONT-SIZE: 10px; COLOR: #ff0000; FONT-FAMILY: verdana; TEXT-DECORATION: none
}
A:visited {
FONT-SIZE: 10px; COLOR: #ff0000; FONT-FAMILY: verdana; TEXT-DECORATION: none
}
A:active {
FONT-SIZE: 10px; COLOR: #ff0000; FONT-FAMILY: verdana; TEXT-DECORATION: none
}
.font {
FONT-SIZE: 10px; COLOR: #000000; FONT-FAMILY: verdana
}
.Stil1 {
FONT-WEIGHT: bold; COLOR: #ff0000
}
.Stil3 {
COLOR: #000000
}
.Stil4 {
COLOR: #ff0000
}
.submit {
FONT-SIZE: 10px; COLOR: #ff0000; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif
}
</STYLE>
</HEAD>
<BODY class=font>
<P class=Stil1 align=center>Schritt 2 / 3 <BR><SPAN class=Stil3>Überprüfung der
Datenmigration<BR><BR><STRONG><SPAN class=Stil4><A
href="http://localhost/dbmaske.php"><< Schritt 1</A></SPAN> <B>|</B>
<SPAN class=Stil4><A href="http://localhost/dbmaske3.php">Schritt 3
>></A></SPAN> </STRONG></SPAN></P>
<TABLE
style="BORDER-RIGHT: #000000 thin solid; BORDER-TOP: #000000 thin solid; BORDER-LEFT: #000000 thin solid; BORDER-BOTTOM: #000000 thin solid"
cellPadding=0 width="100%" border=0>
<TBODY>
<TR bgColor=#eeeeee>
<TD vAlign=center bgColor=#eeeeee>
<DIV align=center><STRONG>- Alte "Datenbank" - <BR></STRONG></DIV></TD>
<TD bgColor=#eeeeee>
<DIV align=center><STRONG><BR>- Neue Datenbank -
<BR><BR></STRONG></DIV></TD></TR>
<TR bgColor=#eeeeee>
<TD vAlign=top colSpan=2>
<DIV align=center><STRONG>
<FORM action=$php_self method=get><INPUT class=submit type=submit value="<<" name=back>
<INPUT class=submit type=submit value="Diesen Datensatz migrieren" name=migrieren>
<INPUT class=submit type=submit value=">>" name=next></FORM></STRONG></DIV>
<DIV align=center></DIV></TD></TR>
<TR>
<TD vAlign=top width="50%"><!-- erste spalte - alte datenbank inhalte -->
<TABLE cellPadding=1 width="100%" border=0 class="font">
<TBODY>
<TR>
<TD bgColor=#eeeeee>TERM_ADR</TD>
<TD bgColor=#cccccc><input class=submit readonly value=zeile1a
name=alt0></TD>
</TR>
<TR>
<TD bgColor=#eeeeee>TERM_ADR_A</TD>
<TD bgColor=#cccccc><INPUT class=submit readOnly value=b
name=alt1></TD></TR>
<TR>
<TD bgColor=#eeeeee>DRU_ADR</TD>
<TD bgColor=#cccccc><INPUT class=submit readOnly value=c
name=alt2></TD></TR>
<TR>
<TD bgColor=#eeeeee>NAME</TD>
<TD bgColor=#cccccc><INPUT class=submit readOnly value=d
name=alt3></TD></TR>
<TR>
<TD bgColor=#eeeeee>ABT_ALT</TD>
<TD bgColor=#cccccc><INPUT class=submit readOnly value=e
name=alt4></TD></TR>
<TR>
<TD bgColor=#eeeeee>undsoweiter</TD>
<TD bgColor=#cccccc>undsoweiter</TD>
</TR>
</TBODY></TABLE></TD>
<TD vAlign=top width="50%">
<TABLE cellPadding=1 width="100%" border=0 class="font">
<TBODY>
<TR bgColor=#e0e0e0>
<TD colSpan=2><STRONG>PC_Systeme</STRONG></TD></TR>
<TR>
<TD width="50%" bgColor=#eeeeee>pcnr</TD>
<TD width="50%" bgColor=#cccccc><INPUT class=submit value=$[]
name=Input22232111></TD></TR>
<TR>
<TD bgColor=#eeeeee>terminalnr</TD>
<TD bgColor=#cccccc><INPUT class=submit value=$[]
name=Input22232112></TD></TR>
<TR>
<TD bgColor=#eeeeee>gebaeudenr</TD>
<TD bgColor=#cccccc><INPUT class=submit value=$[]
name=Input22232113></TD></TR>
<TR>
<TD bgColor=#eeeeee>zimmer</TD>
<TD bgColor=#cccccc><INPUT class=submit value=$[]
name=Input22232114></TD></TR>
<TR>
<TD bgColor=#eeeeee>undsoweiter</TD>
<TD bgColor=#cccccc>undsoweiter</TD>
</TR>
</TBODY></TABLE></TD></TR>
<TR>
<TD bgColor=#eeeeee colSpan=2>
<DIV align=center><BR></DIV></TD></TR></TBODY></TABLE>
<DIV align=center><STRONG><BR><SPAN class=Stil4><A
href="http://localhost/dbmaske.php"><< Schritt 1</A></SPAN> <B>|</B>
<SPAN class=Stil4><A href="http://localhost/dbmaske3.php">Schritt 3
>></A></SPAN> </STRONG></DIV></BODY></HTML>