Beitrag von Micha Jost (347 Beiträge) am Dienstag, 3.Juli.2001, 08:25.
Ganzen Datensatz anzeigen bei loop
Hallo,
wenn man einmal mit dem loopen anfängt....
Wenn ich mit loop meine Datenbankabfrage gestalte (und dabei aus einem Datensatz nur 2 Felder abfrage), gibt es da eine Funktion mit der ich dann beim anklicken eines Feldinhaltes den kompletten Datensatz (alle angelegten Felder) in einem neuen Fenster angezeigt bekomme.
Genau wie dies bei do action=all sozusagen voreingestellt funktioniert.
Danke für Tipps.
Gruß
Micha
Antworten
Beitrag von anonym (129 Beiträge) am Dienstag, 3.Juli.2001, 09:25.
Re: Ganzen Datensatz anzeigen bei loop
Du meinst wohl im Detail. Dazu kannst du einen Link in der Loop erzeugen, der eine Detail-Seite aufruft, für den aktuellen Datensatz übergibst du die ID des jeweiligen Datensatzes der Ausgabe
<a href="baseportal.pl?htx=myname/detailseite&Id=$Id">$titel</a>
Die Detail-Seite zeigt nun den ganzen Datensatz über die ID. Dazu den aktuellen Datensatz aus der Datenbank auslesen
<perl>
get "Id==$Id","mydatabase";
</perl>
Detail-Ausgabe:
Antworten
Beitrag von Micha Jost (347 Beiträge) am Dienstag, 3.Juli.2001, 09:51.
Re: Ganzen Datensatz anzeigen bei loop
Hallo Titus,
Danke für die prompte Bedienung.
Aber ich bin noch ein bischen schwach auf den db-Füsschen-daher noch ein paar Rückfragen (nicht lachen).
a) die Seite "detailseite" muss ich erst anlegen und darauf die Perl-Befehl wie beschrieben einfügen)?
b) "mydatabase" ist in unserem Fall welche Datei-oder ein Befehl?
c) anderes_feld ist ein Befehl oder nur ein imaginärer Feldname?
Titus-kannst Du noch?
Gruß
Micha
Antworten
Beitrag von anonym (129 Beiträge) am Dienstag, 3.Juli.2001, 10:44.
Re: Ganzen Datensatz anzeigen bei loop
Hi Micha,
- ich kann immer ;-) -
a) Ja genau, get... gehört in die extra angelegte Detail-Seite (die wird auch Template genannt).
b) mydatabase wird durch den Namen deiner Datenbank ersetzt, auf die du ja auch in der Detailansicht zugreifst
c) anderes_feld ist nur ein Beispiel, du kannst die Felder direkt in den HTML-Kode schreiben, dabei wird den Feldnamen ein $ vorangestellt
Antworten
Beitrag von Micha Jost (347 Beiträge) am Dienstag, 3.Juli.2001, 11:08.
Re: Ganzen Datensatz anzeigen bei loop
Hallo Titus,
ich bin begeistert, das funktioniert ja prima:-)) Es gibt einen Verweis auf das neue Template und da steht auch was drin.... aber leider immer das gleiche :-( egal welchen Datensatz ich auch auswähle.
Allerdings habe ich in meiner "Mutterdatenbank" gar kein Feld mit Namen "Id", kann das daran liegen?
Tja Titus, was sagst Du nun-ist mir noch zu helfen?
Gruß
Micha
Antworten
Beitrag von Sander (8133 Beiträge) am Dienstag, 3.Juli.2001, 14:55.
Re: Ganzen Datensatz anzeigen bei loop
Antworten
Beitrag von Micha Jost (347 Beiträge) am Dienstag, 3.Juli.2001, 16:35.
Re: Ganzen Datensatz anzeigen bei loop
Hallo Sander,
Danke für Deinen Tipp, es bleibt aber bei der Ausgabe ein und dessleben Datensatzes (es ist immer der erste)im neuen Templade.
Vielleich bin ich ja über die Syntax gestolpert.
Hier noch einmal die Fakten:
die Datei und das "Grundtemplade" heisst "Dienstleistungen" das neue Templade heisst "detailseite_dienstleitungen"
Es gibt in der Datenbank die Felder
-Bezeichnung
-Beschreibung
-Amt
-Linkname
-Formular
-Formularlink
Der Looping sieht so aus:
<loop>
<tr bgcolor="#ff9933">
<td width="20%"><a href=$Linkname>$Amt</a></td>
<td width="80%"><a href="baseportal.pl?htx=/Buerstadt/detailseite_dienstleistungen&Id=$_id">$Formular</a></td>
</tr>
</loop>
Die detailseite_dienstleistungen sieht so aus:
<perl>
get "Id==$_id","Dienstleistungen";
</perl>
<b>$Formular</b><br>
<b>$Amt</b><br>
<b>$Beschreibung</b><br>
<b>$Bezeichnung</b><br>
Vielleicht hilft das bei der Problemlösung.
Gruß und Dank
Micha
Antworten
Beitrag von anonym (129 Beiträge) am Dienstag, 3.Juli.2001, 17:15.
Re: Ganzen Datensatz anzeigen bei loop
Tja, da hatte ich einen Fehler gemacht,
verändere den get-Befehl nur noch in
Id==$Id
Nun müsste es klappen ($_id stimmt ansonsten).
Antworten
Beitrag von Micha Jost (347 Beiträge) am Dienstag, 3.Juli.2001, 19:37.
Funzt :-))) danke Titus, danke Sander
Antworten