Tabelle Datenbank mit txt Datein erstellen und auslesen

fragezeichen

Grünschnabel
Hallo,
folgendes habe ich vor…
Es sollen aus einer Tabelle/Datenbank Daten/Dateien .txt ausgelesen werden Also:
Zeile 1 Feld A, B, C (A = Datei „A1.txt“, B= Datei „B1.txt“ …)
Zeile 2 Feld A, B, C (A = Datei „A2.txt“, B= Datei „B2.txt“ …)
Beim auslesen soll eine Abfrage sein:
Wenn Feld in Zeile 1 „A= 1“ (Also der Text in der Datei „Datei A1.txt“=1 ist) dann soll die Datei B1 und C1 erscheinen. Wenn ungleich 1 dann zum Datensatz in Zeile 2 gehen und da ebenso prüfen.
Wenn A2 auch ungleich 1 dann soll erscheinen „kein Datensatz vorhanden“
Das ganze soll in eine Homepage integriert sein.
Daten in eine .txt Datei schreiben mit PHP bekomme ich hin. Das Anzeigen der Dateien auch.:)
Aber mit der Tabelle /Datenbank tue ich mich schwer!
Geht das mit PHP oder Java? UND WIE********
Thank`s für eure Tipps
;-)
 
Ich verstehe nur Bahnhof!

Was steht jetzt in der Datenbank. Stehen da die Namen der Textdatei(en) oder stehen da andere Werte?

Erkläre mal bitte etwas genauer was du machen willst.
 
Du willst also mit PHP eine vereinfachte Datenbankengine schreiben für eine Tabelle in der jedes Feld als eigene Datei abgespeichert ist.
Nun, ich empfehle dir auf eine normale DB zu gehen.

Nichts desto trotz, hier ein Ansatz für genau dein Problem in PHP. (Der ganze Thread währe in PHP besser aufgehoben, da es nix mit relationalen Datenbanken zu tun hat)
PHP:
<?php 
    //Die Tabelle als doppelten Array erstellen
    for($i=1; $i <=2; $i++){
        foreach(range('A', 'C') as $col){
            //Dateiinhalt einlesen (in meinem Beispiel sind sie im Unterordner t
            $table[$i][$col] = file_get_contents("t/{$col}{$i}.txt");
        }        
    }    
    
    //Die Spalte a als Bedunungs-Array erstellen
    foreach($table as $rownum => $row){
        $conditions[$rownum] = $row['A'];
    }
    
    //Alle Zeilen durchgehen bis ein Eintrag in der Spalte 'a' 1 ist
    foreach($conditions as $rownum => $a){
        if($a==1){
            //gefundene Zeile ausgeben
            echo "{$table[$rownum]['B']} | {$table[$rownum]['C']}<br />";
            //Flag das etwas gefunden wurde setzen
            $found = true;
            //keine weiteren Zeilen mehr ausgeben
            break;
        }
    }
    
    //Prüfen ob etwas gefunden wurde und ggf. eine entsprechende Meldung ausgeben
    if(!$found) echo 'kein Datensatz vorhanden';
    
//    Appendix:
//    Der Array $table hat den folgenden Aufbau
//    Array
//        (
//            [1] => Array
//                (
//                    [A] => 2
//                    [B] => r1
//                    [ C] => 1
//                )
//        
//            [2] => Array
//                (
//                    [A] => 1
//                    [B] => b2
//                    [ C] => 2
//                )
//        
//        )

?>
 
So dann werde ich mal versuchen dem Bahnhof Gleise zu geben ;-)
- ich habe Datein als .txt . Diese nenne ich z.B. A1.txt oder B1.txt usw. ...
- In diesen Datein ist Text enthalten

Die Idee war diese Textdatein in einer Tabelle/Datenbank zusammenzufassen
- Diese Tabelle/Datenbank soll dann ausgeleses und angezeigt werden.(Mit der Abfrage wie oben beschrieben)
Ist es jetzt klarer?
 
hi,
danke, nun bekomme ich
fehlermeldung

Warning: file_get_contents(t/A1.txt) [function.file-get-contents]: failed to open stream: No such file or directory in /mnt
 
Dann lies mal den Kommentar der eine Zeile darüber steht. Anschliessend überlegst du wie du die Zeile für dich anpassen musst.....
Für etwas habe ich die vielen Kommentare in den Code geschrieben.

Somit gibts keine weiteren Hilfe von mir solange du nicht selbst überlegst
 
Zuletzt bearbeitet:
Du musst yaslaw's Post schon lesen und nicht nur kopieren, du versuchst auf ein Unterverzeichnis "t" zuzugreifen, welches bei dir sicher nicht existiert!
 
ist schon klar , dass die .txt datein im Unterordner "t" liegen!
Den gibts bei mir auch!
Und da drin habe ich die Datein A1.txt, A2.txt usw...
 
Da können wir dir nicht weiterhelfen. Die Fehlermeldung besagt, dass er A1.txt im Unterverzeichnis t (von da an gerechnet wo du das Script laufen lässt) sucht.

Da du uns eigentlich keinerlei angaben gibst, wie du das testet, hier einige Fragen:

1) Lässt du mein Script genauso als Testdatei laufen oder hast du es irgenwie schon abgeändert?
2) Falls du mein Code in eine Datei kopiert hast und diese laufen lässt, ist da der Ordner t in der gleichen Ebene wie das Script?
3) Arbeitest du im Moment lokal auf Windows oder auf dem Server?
 

Neue Beiträge

Zurück