Du bist nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: WebStyleBoard. Falls dies dein erster Besuch auf dieser Seite ist, lies bitte die Hilfe durch. Dort wird dir die Bedienung dieser Seite näher erläutert. Darüber hinaus solltest du dich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutze das Registrierungsformular, um dich zu registrieren oder informiere dich ausführlich über den Registrierungsvorgang. Falls du dich bereits zu einem früheren Zeitpunkt registriert hast, kannst du dich hier anmelden.

1

Donnerstag, 10. Juli 2003, 23:30

FlatFile -> Tabelle

Ich hatte vor einiger Zeit in den endlosen Weiten des WWW ein ganz einfaches CGI-Script entdeckt, das Daten aus einer Flatfile-Datenbank ausliest und daraus eine HTML-Tabelle bastelt. Leider hab' ich mir damals die URL nicht notiert. :(

Jetzt bräuchte ich genau so etwas, aber finde das Script nicht wieder. Kennt ihr zufällig ein entsprechendes CGI-Script?

Vielen Dank im Voraus.

2

Freitag, 11. Juli 2003, 00:54

Da das Datenformat "Flatfile-Datenbank" nicht näher spezifiziert ist, kann ich dir nicht helfen, da es sicherlich hunderte solcher Scripte gibt.
Signatur von »Darii« Against TCPA - TCPA heißt Freiheit verlieren
D.A.R.I.I.: Digital Artificial Replicant Intended for Infiltration

3

Freitag, 11. Juli 2003, 01:10

Darri:

Das ist wirklich ganz interesannt. Perl hat ein Modul Namens DBD::File mit dem du aus einer Flatfile per SQL Anweisungen Daten auslesen kannst. Ich denke mir das könnte Duke gemeint haben.

Ansehen kannst du es dir unter http://search.cpan.org/author/JZUCKER/DB…ib/DBD/File.pm.

Ansonsten php mit explode verweden und so eine Tabelle generieren ;)

Tobias
Signatur von »t-ob-i« {SIGNATUR}

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »t-ob-i« (11. Juli 2003, 01:10)


4

Freitag, 11. Juli 2003, 13:20

Bei der Datenbank handelt es sich eigentlich nur um ein Text-File, in dem die einzelnen Einträge durch Trenn-Zeichen getrennt sind, also z. B.

Quellcode

1
Artikel,Beschreibung,Preis,irgendwas

Diese Zeilen wiederholen sich dann für jeden "Datensatz".

5

Freitag, 11. Juli 2003, 13:45

PHP-Quelltext

1
2
3
4
5
6
7
8
9
<?
$dateiname="datei.txt";
$trennzeichen=",";

$daten=file($dateiname);
echo("<table><tr><th>Artikel</th><th>Beschreibung</th><th>Preis</th><th>irgendwas</th></tr>");
foreach($daten as $wert) echo("<tr><td>".str_replace($trennzeichen,"</td><td>",$wert)."</td></tr>");
echo("</table>");
?>

ungetestet ;)
Signatur von »Alex« Man muss nichts sehen, um zu sehen, dass man nichts sieht, aber man muss etwas sehen, um zu sehen, was man nicht sieht.

6

Freitag, 11. Juli 2003, 13:48

So einfach geht das mit PHP? - Klasse! :hupferl:

Werd' das heute noch ausprobieren. Vielen Dank! :))

7

Freitag, 11. Juli 2003, 16:27

Funktioniert wunderbar. :))

Ist es eigentlich auch möglich, die Daten in eine Art Template einzufügen? Mein Problem ist, dass die Spalte für die Preise rechtsbündig sein sollte, leider kann ich das nicht für eine Spalte definieren, da ja alle Spalten nach dem selben Muster erzeugt werden.

Hier wäre es dann theoretisch auch möglich, Links automatisch erzeugen zu lassen ( <a href="variable">Produktabbildung</a> )

Leider kenne ich mich mit PHP kein bisschen aus und kann das nicht selbst realisieren. :(

8

Freitag, 11. Juli 2003, 17:28

PHP-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?
$dateiname="datei.txt";
$trennzeichen=",";

$daten=file($dateiname);
echo("<table><tr><th>Artikel</th><th>Beschreibung</th><th>Preis</th><th>irgendwas</th></tr>");
foreach($daten as $wert) 
{
 $value=implode($trennzeichen,$wert); // &larr; Array aus String erzeugen
 // und Array-Werte als Tabelle ausgeben &darr;
 echo("<tr><td>".$value[0]."</td><td>".$value[1]."</td><td>".$value[2]."</td><td>".$value[3]."</td></tr>"); 
}
echo("</table>");
?>
Signatur von »Alex« Man muss nichts sehen, um zu sehen, dass man nichts sieht, aber man muss etwas sehen, um zu sehen, was man nicht sieht.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Alex« (11. Juli 2003, 17:28)


9

Freitag, 11. Juli 2003, 18:25

Du meinst bestimmt explode, statt implode. ;)

Gaheris

10

Freitag, 11. Juli 2003, 18:39

Alex, vielen Dank!

... aber irgendwas passt am Code noch nicht so ganz - ich erhalte folgende Fehlermeldung:

Warning: implode(): Bad arguments. in /home/sportwei/public_html/content/gebrauchtes/parser.php on line 9

11

Freitag, 11. Juli 2003, 18:41

Gaheris, mit explode statt implode funktioniert's wunderbar.

Vielen Dank! :D

12

Freitag, 11. Juli 2003, 20:28

Zitat

Original von Gaheris
Du meinst bestimmt explode, statt implode. ;)

Gaheris
Ups, Das vertausche ich immer wieder mal, sorry... hast du mal eben ne Eselsbrücke dafür parat?
EDIT: Mir fällt gerade auf, dass das hier das falsche Forum ist. Bitte nach PHP verschieben ;)
Signatur von »Alex« Man muss nichts sehen, um zu sehen, dass man nichts sieht, aber man muss etwas sehen, um zu sehen, was man nicht sieht.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Alex« (11. Juli 2003, 20:28)


13

Freitag, 11. Juli 2003, 21:33

Zitat

hast du mal eben ne Eselsbrücke dafür parat?


Wie wäre es denn mit

explode = explodieren
Eine gezielte Explosion um die Zeichen voneinander zu trennen

implode = implodieren
Die Vorstellung eine Implosion würde etwas voneinander trennen wirkt komisch ;)
Edit: Heißt also das ein größeres Gebilde (Array) in sich implodiert...

Tobias
Signatur von »t-ob-i« {SIGNATUR}

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »t-ob-i« (11. Juli 2003, 22:38)


14

Freitag, 11. Juli 2003, 22:11

Exakt, genauso würde ich es mir auch merken t-ob-i. :)

Gaheris

15

Samstag, 12. Juli 2003, 00:21

Bin begeistert! - Das Ding läuft wunderbar.

Eine Frage noch: Wie kann ich bei "$dateiname="datei.txt";" eine Datei samt Pfad angeben? ... also z.B. /update/datei.txt ???

16

Samstag, 12. Juli 2003, 00:25

Genau so. ;)
Einfach den Pfad rein, absolut, relativ, manchmal kann es auch eine URL sein (kommt auf die Konfiguration von PHP an).

Gaheris

17

Samstag, 12. Juli 2003, 00:26

Duke: Du schreibst es einfach dahin?
$datei = 'Pfad/Zur/Datei.txt';

Möchtest du ein Verzeichnis hoch gelten die alt bekannten Regeln mit ../einshöher.txt

Übrigends kannst du auch HTTP-Adressen angeben
$datei = 'http://www.google.de';

Tobias
Edit: 1 Minute - mist
Signatur von »t-ob-i« {SIGNATUR}

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »t-ob-i« (12. Juli 2003, 00:27)


18

Samstag, 12. Juli 2003, 12:35

Komisch ... ?(

Wenn ich die komplette URL zur Datei angebe, funktioniert das. Wenn ich einen absoluten/relativen Pfad verwende, kommt eine Fehlermeldung, dass die Datei nicht gefunden wurde. Der Pfad ist aber korrekt angegeben, wenn ich genau diesen Pfad für einen Link verwende, kann ich die Datei aufrufen.

Naja, ich bleib' vorerst bei der kompletten URL.

19

Samstag, 12. Juli 2003, 15:34

Wird das Script irgendwo durch einen include (require oder ähnliches) eingefügt?
Wenn ja könnte es sein das die Pfade dann nicht mehr stimmen.
Du kannst übrigens auch absolute Pfade benutzen.

Gaheris

20

Samstag, 12. Juli 2003, 16:42

Das Script wird per SSI in eine andere Seite eingefügt.