CGI/PERL: Liste ausgeben in Browser
Furby
- cgi
Tach!
Ich habe n (sagen wa mal 6) Datensatz paare a 12 Stück.
In meinem Browser definiere ich für jedes der 12
einen Platzhalter.<H1>{Posteingang}<BR>...<h2>{Postausgang}...
Nun soll die HTML Seite n Mal (Also 6X) ausgegeben
werden,
wie kann ich das geschickt anstellen?
Danke Leute!
Furby
----- Sometimes I dream of Furby ------
Hi,
wie kann ich das geschickt anstellen?
Also, wenn ich dich richtig verstanden habe (was allerdings ein
wenig schwierig ist, bei deinem Schreibstil *g*) moechtest du die
Ausgabe eines Scripts verdoppeln. Wenn ja, wie waere es mit einer
for-Schleife? ,)
for($i=1;$i<=2;$i++)
{
}
mfg
CK1
for($i=1;$i<=2;$i++)
»» {
»» # Mach die Ausgabe...
»» }
Tach Calvin (ck1),
niet!
Also, ich habe 6 X 12 Datensätze: mail1, mail2, mail3, mail4 .....72
jeder datensatz besteht aus 12 verschiedenen daten.
DIE HTML_DATEI:
{platzhalter1}
{platzh.2}
{platzh.3}
... 12
dann kommen die nächsten 12 verschiedenen daten; es sollen die gleichen platzhalter verwendet
werden, aber wieder vom beginning an, klar?
Also:
{platzhalter1} <-- mail1
... 12 <- mail12
{platzhalter1} <-<mail 13
....
grass nett von euch, dass ihr mir helfen tut.
versteht‚s mich nun besser :-)
Furby
--sometimes i dream of FURBY--
Hi,
Tach Calvin (ck1),
CK1 steht fuer meinen Real-Namen, also Christian Kruse ,) ich habe
NICHTS mit Calvin Klein gemeinsam (leider, das Geld koennt er mir
schon geben *g*)
versteht‚s mich nun besser :-)
Nein, nicht wirklich... sorry, aber irgendwie hast du eine seltsame
Art, dich auszudruecken ,)
Aber ich versuchs mal, vielleicht hab ichs ja richtig verstanden:
dann kommen die nächsten 12 verschiedenen daten; es sollen die
gleichen platzhalter verwendet werden, aber wieder vom beginning
an, klar?
Du moechtest also einfach nur den Teil der HTML-Datei, an dem
die Platzhalter stehen, immer wieder ausgeben? Nur statt der
Platzhalter die Datenfelder in den Datensaetzen?
Und die Datensaetze sind so aufgebaut:
[Datensatz1]
feld1
feld2
feld3
feld4
feld5
feld5
Und du hast davon 72 Stueck? Wenn das stimmt, dann kannst du das so
machen:
open(DAT,"<html.htm");
@geruesst = <DAT>;
close(DAT);
@Datensatzx = ( # x Steht fuer eine Zahl zw. 1..72
Feld1,
Feld2,
Feld3,
Feld4,
Feld5,
Feld6);
@datensaetze = (@Datensatz1, @Datensatz2, ..., @Datensatz72);
for ($i=0;$i<=72;$i++)
{
for($j=0;$j<=6;$j++)
{
print $geruesst[$j];
print $datensaetze[$i][$j];
}
}
$j ist nach jedem Durchlauf wieder 0 und deshalb wird die HTML-Datei
immer wieder von vorne an ausgegeben.
mfg
CK1 (== Christian Kruse)
P. S.: das naechste mal bitte etwas deutlicher *g*
CK1 steht fuer meinen Real-Namen, also Christian Kruse ,) ich habe
NICHTS mit Calvin Klein gemeinsam (leider, das Geld koennt er mir
schon geben *g*)
tja, cole [:-)] is net alles
dann kommen die nächsten 12 verschiedenen daten; es sollen die
gleichen platzhalter verwendet werden, aber wieder vom beginning
an, klar?Du moechtest also einfach nur den Teil der HTML-Datei, an dem
die Platzhalter stehen, immer wieder ausgeben? Nur statt der
Platzhalter die Datenfelder in den Datensaetzen?
PROBLEM ERKANNT: NEIN GENAU DAS NICHT!
Ich will diesen part n mal wiederhohlen, (das ersetzten) des original textes
GRACIE!!!!
Furby
P.S.: Was weisst du eigentlich nicht?
Hi,
tja, cole [:-)] is net alles
PROBLEM ERKANNT: NEIN GENAU DAS NICHT!
Ich will diesen part n mal wiederhohlen, (das ersetzten) des
original textes
Naja, das geht auch so aehnlich, nur leicht modifiziert. Ich gehe mal
davon aus, dass die Platzhalter untereinander stehen.
for($i=0;$i<=$#geruesst;$i++)
{
break if index($geruesst[$i],"<!-- PLATZHALTER1 -->") <> -1;
}
my $stelle = $i;
for ($i=0;$i<=72;$i++)
{
for($j=0;$j<=6;$j++)
{
print $geruesst[$stelle + $j];
print $datensaetze[$i][$j];
}
}
Wenn sie nicht untereinander stehen, musst du halt mit jedem
Schleifen-Durchlauf das gesamte Geruesst durchgehen und die Stellen
ausgeben, wo Platzhalter stehen:
@platzhalter = ("<!-- PLATZHALTER1 -->","<!-- PLATZHALTER2 -->",...);
for ($i=0;$i<=72;$i++)
{
for($j=0;$j<=6;$j++)
{
foreach (@geruesst)
{
foreach $platz (@platzhalter)
{
print $_ if index($_, $platz) <> -1;
}
}
print $datensaetze[$i][$j];
}
}
Das gibt immer genau die Teile wieder aus, in dem die Platzhalter
stehen.
mfg
CK1
P. S.: *g* das Programm wird ziehmlich verschachtelt...
Tach CK1
P. S.: *g* das Programm wird ziehmlich verschachtelt...
Tja und die ist nur ein Element der Pyramide von Mykerinos....
GRACIE!!!!!
-MAY THE FURBY WITH YOU!-
HALLO CK1!!!
Wie printe die TEILE vor/nach den Elementen aus?
Gibt das Programm auch die HTML-TAGS um die Elemente aus??????????
Wenn nein wie mach ich das denn dann?
WAS WEIST DU NEICHT???
FURBY
Hi,
Wie printe die TEILE vor/nach den Elementen aus?
Na, du hast doch den Array mit dem Inhalt. Gib doch einfach vorher
alle Elemente aus, bis du auf ein <!-- Platzhalter1 --> triffst.
Dann stoppen.
Gibt das Programm auch die HTML-TAGS um die Elemente aus??????????
Wenn nein wie mach ich das denn dann?
Nein, noch nicht, da musst du statt
foreach $platz (@platzhalter)
{
print $_ if index($_, $platz) <> -1;
}
$_ nach $platz durchsuchen und durch $datensaetze[$i][$j] ersetzen.
WAS WEIST DU NICHT???
Vieles, aber sowas ist keine Frage von wissen... du musst nur
nachdenken! Denk selber!
Oh man, mir geht es echt auf den Geist, wenn manche Leute nicht
selber nachdenken...
nichts fuer ungut,
CK1
Hi,
Danke, werd mir muehe geben...
letzte Sache, was bedeutet <> es funktioniert bei men
Machine nett!!!!
danke!
FURBY
»
»
hi!
Danke, werd mir muehe geben...
letzte Sache, was bedeutet <> es funktioniert bei men
Machine nett!!!!
Korrekt wäre !=. Bevor du das nächste mal eine Frage stellen möchtest, lies den CGI/Perl-Teil in SELFHTML
und die mitgelieferte Perl-Dokumentation (perldoc perl). Dieses Forum ist keine Antwortmaschine und
übrigens auch kein Chat-Ersatz, bei dem man im Minutentakt antwortet. Selbst nachdenken hat noch
niemandem geschadet, ebenso wenig wie eine verständliche Formulierung.
bye, Frank!
Hallo Christian!
Der Monat ist zwar noch nicht ganz rum, aber ich verleihe Dir trotzdem shon mal den "Preis fuer den geduldigsten Antworter des Monats". Beglueckwuenschen tue ich Dich aber nicht dazu. ;-|
So long
Hi, CK1 = (Christian Kruse,
vielleicht reicht das ja, dass ich nur die Datansätze
anstelle der Platzhalter ausgebe, nur, wie
gebe ich dann die Dinge, die vor, bzweise neben den platzhaltern stehen
aus, und das was danach kommt?
<TITLE>HALLO CK1></TITLE>
Willkommen auf meiner Seite
<H1>Hier steht der Petersdom: {Platz1}</H1>
..
..
..
..
..
Das hieße ja, vor den Platzhalter 1X ausgeben,
die Platzhalter ersetzten x-Mal ausgeben
und das Ende 1X ausgeben,
ach ja Atze (ausdruck für einen unbekannten ;-) ,
wie?
Dank Dir!!!!!
Hallo CK1,
Nein, nicht wirklich... sorry, aber irgendwie hast du eine seltsame Art, dich auszudruecken ,)
Nett formuliert. Und blaeht den Thread leider nur auf. Ich habe eher den Eindruck, der weiss weder was HTML kann und was nicht, noch welche Scriptsprache zu was nutze ist. Du bietest ihm eine for-Schleife in Perl-Syntax an. Fein. Aber glaubst du, der weiss, was Perl und CGI ist? Vergiss es. Wer sich so ausdrueckt, hat kein Problem sich auszudruecken, sondern das Problem, nichts gelesen zu haben, was man sehr wohl lesen kann, aber irgendwas ganz Tolles machen zu wollen. Ich koennte jetzt anfangen, ueber JavaScript, dessen for-Schleifen, Arrays und document.write zu reden. Aber das bringt doch nichts. Da kann man sich hoechstens hinsetzen und ihm das fix und fertig programmieren und ihm dann noch sagen, wie er das Zeugs hier aus dem Browser ueber die Zwischenablage in den Editor kriegt. Aber das macht keinen Spass in so einem Fall, wirklich nicht.
viele Gruesse
Stefan Muenz
Hi Stefan,
Hallo CK1,
welche Ehre, direkt angesprochen zu werden *g*
Du bietest ihm eine for-Schleife in Perl-Syntax an. Fein. Aber
glaubst du, der weiss, was Perl und CGI ist? Vergiss es.
Sorry, aber nach der Überschrift zu ("(CGI) CGI/Perl: Liste ausgeben
im Browser") dachte ich ehrlich gesagt eher, er weiß zwar nicht
viel, aber er ist ein Anfänger...
Wer sich so ausdrueckt, hat kein Problem sich auszudruecken,
sondern das Problem, nichts gelesen zu haben, was man sehr wohl
lesen kann, aber irgendwas ganz Tolles machen zu wollen.
*g* ich hätts nicht besser ausdrücken können... nur ist die Frage,
ob das hier wirklich zutrifft... ich muß ehrlich sagen, ich kenne
einige Leute, die es "cool" finden, so zu "reden", bzw zu schreiben.
Aber das macht keinen Spass in so einem Fall, wirklich nicht.
Stimmt, sowas macht nie Spaß... nur muß es auch solche Leute geben,
sonst hab ich keine Arbeit mehr *g*
mfg
CK1
Hi Stefan,
*g* ich hätts nicht besser ausdrücken können... nur ist die Frage,
ob das hier wirklich zutrifft... ich muß ehrlich sagen, ich kenne
einige Leute, die es "cool" finden, so zu "reden", bzw zu
schreiben.
tut mir leid, es TRIFFT zu...
mfg
CK1
Ich habe n (sagen wa mal 6) Datensatz paare a 12 Stück.
In meinem Browser definiere ich für jedes der 12
einen Platzhalter.<H1>{Posteingang}<BR>...<h2>{Postausgang}...
Nun soll die HTML Seite n Mal (Also 6X) ausgegeben
werden,
Wie CK1 habe ich nicht unerhebliche Probleme, den Sinn Deiner Frage zu erfassen.
Deshalb unter Vorbehalt:
Es klingt so, als solltest Du Dich mit dem Konzept von Funktionen und Parametern auseinandersetzen.
Dann könntest Du eine Funktion schreiben, die einen Ausgabeblock erzeugt (ggf. abhängig von Parameterwerten) und diese dann <n> mal aufrufen (entweder in einer Schleife oder tatsächlich mit <n> hingeschriebenen Aufrufen, falls die Parameterwerte nicht generisch sind).