<< DropDown-Menü mit Javascript supereinfach >> Update Nachtrag

eforia web manager Blog

Dateien tabellarisch ausgeben


Am Freitag habe ich versprochen, ich verrate, wozu man das neue Tag table nutzen kann. Wozu braucht man die interne Tabellennummer einer Datenbank? Zum Zugriff auf diese natürlich. Nun muss ich zugeben, dass man das durchaus auch mit Bordmitteln hätte lösen können, aber wenn man auf eine Tabelle zugreifen möchte, von der man nicht weiß, ob sie bereits geöffnet ist, ist das etwas Aufwand. Das table-Tag macht das schlicht einfacher.

Ein Beispiel:
Angenommen ich habe bei eforia einige Dateien, die ich direkt als Tabelle zum Download anbieten möchte. Mit einem kleinen Script ist das schnell erledigt. Dieses Beispiel greift hier auf die Echtdaten zu. Ich gebe alle Dateien aus, die in eforia mit "presse/" gespeichert sind. Das Resultat sieht so aus:

Datum Name Download
08.08.2005 ewm_box.zip Download
08.05.2003 ewm_logo.zip Download
17.11.2005 halloween Download
21.03.2006 ostern Download
08.08.2005 screenshots.zip Download
17.11.2005 xmas Download


Und der Code dafür ist:
<table width="100%">
<tr>
<td><b>Datum</b></td>
<td><b>Name</b></td>
<td><b>Download</b></td>
</tr>
{execprog}
  var fhAusgabe,nEL,nEL2 : integer
  var db,nRec : integer
  var cELFiles : string[99999,1]
  var cTemp : string
  setpara('ec 0')
  fhAusgabe:=Rewrite('ramtext:out',0)

  db:={[9]table:cms_files}
  Access(db,'cms_files.id')
  nEL:=0
  nRec:=FindRec(db,'presse/','cms_files.id')
  While nRec>0 Do
    ReadRec(db,nRec)
    If GetField(db,'Name') like 'presse/*' then
      cELFiles[nEL,0]:=GetField(db,'Name')
      cELFiles[nEL,1]:=GetField(db,'Dateidatum')
      nEL++
      nRec:=NextRec(db)
    Else
      nRec:=0
    End
  End

  StrSort(cELFiles,nEL-1,0,'0')

  nEL2:=0
  while nEL2<nEL do
    writeln(fhAusgabe,'<tr>')
    writeln(fhAusgabe,'<td>'+cELFiles[nEL2,1]+'</td>')
    cTemp:=cELFiles[nEL2,0]
    cTemp:=cTemp[length('presse/')+1,255]
    writeln(fhAusgabe,'<td>'+tohtml(cTemp)+'</td>')
    writeln(fhAusgabe,'<td><a href="{[4]file="'+cELFiles[nEL2,0]+'"}" target="_blank">Download</a></td>')
    writeln(fhAusgabe,'</tr>')
    nEL2++
  end

  setpara('ec 1')
  close(fhAusgabe)
{/execprog}
</table>

Wie man sieht, öffne ich die Tabelle noch ganz einfach in Standard-HTML-Code. Nur die Zeilen werden dann per Execprog-Script eingefügt. Die Datenbank wird mit {table:cms_files} abgefragt. Die Ermittlung der Datensätze und die Ausgabe sind 2 Schleifen. Das hat einfach den Sinn, dass man dazwischen noch beliebig sortieren kann.

Selbstverständlich könnte man dafür auch ein eigenes Modul machen. In der Praxis ist aber jede Ausgabe immer wieder ein wenig anders. Da ist es schön einfach das kleine Code-Schnippsel schnell und direkt anpassen zu können.



Dieser Artikel wurde veröffentlicht am 15.02.2010 um 09:52 Uhr. Tags: beispiel  table  execprog  praxistipp   | Permalink | Trackback URI
Ähnliche Beiträge:

Noch kein Kommentar. Sei der Erste:
Der Beitrag ist älter als 30 Tage. Keine Kommentare mehr möglich.


Hier bloggt Horst Klier mit und über eforia web manager und was dazugehört (HTML, Javascript, Internet, Webdesign, Such- maschinenoptimierung, usw.).

>> Zur Blog Startseite

RSS-Feed
abonnieren


Übersicht über alle Beiträge



eforia® ist ein eingetragenes Markenzeichen der tdb Software Service GmbH.
Alle anderen Marken und Markenzeichen gehören Ihren jeweiligen Besitzern.
Letzte Aktualisierung dieser Seite: 05.12.2021 / 00:00:16
Suche  
Impressum