Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Textdatei, Feldnamen und andere Hindernisse [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Textdatei, Feldnamen und andere Hindernisse


 
diggelman
07-04-2004, 11:56 
 
Tag liebe Gemeinde,

ich bin neu hier im Forum und möchte zuerst einmal "Hallo" sagen!
Ich habe gerade sehr intensiv die Suche-Funktion benutzt, konnte aber leider nicht die Abhilfe meines Problem entdecken.

Folgender Sachverhalt:

Ich bekomme eine externe TXT-Datei zur Verfügung gestellt (Tabs getrennt), die folgende Struktur hat:

[KENNUNG] [SPIELNR] [GRUPPE] [TEAM1] [TEAM2] [TORE1] [TORE2] [Halbzeit]...
S 295 Hauptrunde Mannschaft1 Mannschaft2 5 4 (1:1) ...
S 296 Hauptrunde Mannschaft3 Mannschaft4 5 4 (1:1) ...

und so weiter

Ich habe ein Script, mit dem ich diese TXT-Datei sehr komfortabel auslesen und als HTML-Code in eienr Tabelle wiedergeben kann.

Allerdings sind mir in dieser TXT-Datei zuviele Informationen drin, die ich nicht benötige, und die ich gerne auschalten möchte, weil die Tabelle ansonsten unglaublich breit wird!

Frage: Wie kann ich eine Selektion nach Feldnamen ([TEAM1], [TEAM2], [TORE1[, [TORE2]) durchführen, und mir das Ergebnis als HTML-Code auswerten lassen?

Vielen Dank schon einmal im voraus!!
Gruss Daniel

 
asp2php
07-04-2004, 12:09 
 
1 liest die Datei zeilenweise rein
2 mit explode die Zeile in Array umwandeln
3 for-Schleife bauen und gibt die Daten ab Index 3 aus
4 wiederholen von 1-3 bis Dateiende erreicht.

 
diggelman
07-04-2004, 13:44 
 
Danke erstmal!
Ich muss jedoch zugeben, dass ich noch ziemlich Anfänger in PHP bin.
Einlesen ist soweit klar:
$dateiname = "spielbogen.txt";

Umwandeln in Array funktioniert so:
$myLine = htmlentities(fgets ($myFile , 255));
$satzfelder=explode("\t",$myLine);

Aber dann hört es auch schon auf. Gibt es da ein Beispiel? Wie setze ich das um? Für Hilfe wäre ich echt dankbar!

Gruss Daniel

 
wahsaga
07-04-2004, 13:50 
 
echo "<pre>";
print_r($satzfelder);
echo "</pre>";

damit weisst du jetzt, wie die daten in deinem array abgelegt sind.

der rest sollte dann leicht machbar sein - schleifen, zugriff auf array-elemente etc. ist ja grundlagenwissen, also wenn nicht vorhanden -> im manual nachlesen gehen.

 
Coniaric
07-04-2004, 14:33 
 
echo"<table>
<tr>";

while(zeilen werden ausgelesen)
{
echo"<td>$array[3] < /td><td>$array[5]</td>";
}
echo"< / tr>
< / table>";


Wegen Formatierung (v.links nach rechts oder oben --> unten) mußt eben probieren.


Ja, hab gemerkt, daß es aus nem File kommt, wahsaga hat recht, "FOR" ist besser als while....

 
diggelman
07-04-2004, 22:11 
 
Daten einlesen, kein Problem,
Array-Anzeige, kein Problem,
Array, Ausgabe, kein Problem,

ABER...

Wie definiere ich die Schleife? (Wie gesagt, ich bin Anfänger...)
Ich würde mich über ein Code-Beispiel freuen, da ich daran am besten ersehen kann, wie etwas derartiges funktioniert. Ich habe HTML auch über das Reproduzieren von Code erlernt, und denke, dass der Einstieg in PHP ählichen Sinn ergeben würde. Zumindest habe ich mit dieser Taktik bereits einige Fortschritte gemacht.

Bitte nicht böse sein!

Gruss Daniel

 
Wurzel
07-04-2004, 22:15 
 
beispiel? kein problem:
http://de2.php.net/manual/de/control-structures.for.php

 
diggelman
07-04-2004, 22:19 
 
:)
Danke, das hilft mir schon weiter!

Ich weiß der Weg ist steinig, aber ich werde ihn kriechen!

 
diggelman
14-04-2004, 13:28 
 
Kleiner Nachtrag:
Ich wollte mich nur nochmal für die Hilfe bedanken!

$raw[0] hat die Kennziffern S und R für Spiele (S) und Tabelle (R). Diese Variante ist also der Spielplan.

//php

echo "<table class=\"small2\" width=\"390\" border=\"1\" cellpadding=\"3\" cellspacing=\"0\">\n" ;
echo "<tr><td class=\"small2\" bgcolor=\"#02646F\" width=\"50\"><font color=\"#FFFFFF\">DATUM</font></td><td class=\"small2\" bgcolor=\"#02646F\" width=\"300\"><font color=\"#FFFFFF\">BEGEGNUNG</font></td><td class=\"small2\" bgcolor=\"#02646F\" width=\"110\"><font color=\"#FFFFFF\">ERGEBNIS</font></td></tr>\n";
$datei = fopen("importdatei.txt","r");
while($read = fgets($datei,4096)){

$raw = explode("\t",$read);

if ($raw[0]=="S"){

echo "<tr><td class=\"small2\" width=\"50\">$raw[9]</td><td class=\"small2\" width=\"300\">$raw[3] - $raw[4]</td><td class=\"small2\" width=\"110\">$raw[5]:$raw[6] | $raw[7]</td></tr>\n";

}

} echo "</table>\n";

//php

Falls jemand in dem Skript einen "dicken Hund" entdeckt, dann bin ich offen für Hinweise!

Gruss Daniel

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 16:47 Uhr.