datensätze in tabelle verteilen

black-dog

Erfahrenes Mitglied
ich lasse meine gesamten datensätze untereinander auflisten. das ist zwar schon gut aber nicht das was ich gerne möchte:

wie kann ich meine datensätze in eine tabelle mit 3 spalten aussgeben? irgendwie klappt mir das mit den spalten nicht. entweder gibts ne 1 spaltige tabelle oder ne 1 zeilige ...
 
ich beantworte meine frage nun selbst, könnte auch andern ASP-ler behilflich sein.

----------------------------------------------------
<html>

<head>

<link rel=stylesheet type=text/css href=../formate.css>

</head>

<body>

<h1>Bilder zu Lawinenarten</h1>

<%
Set fso = Server.CreateObject("Scripting.FileSystemObject")
Set objFldr = fso.GetFolder(server.mappath("/thinkquest/Website/bildergalerie/arten"))
Set objFileColl = objFldr.Files

Dim Spalten
Spalten = 0
%>
<table>
<tr>

<%
For Each file in objFileColl

Spalten = Spalten + 1
if Spalten > 3 then
Spalten = 1
response.write("</tr><tr>")
end if

response.write("<td valign=bottom>")

if instr(lcase(file.Name),".gif") <> 0 OR instr(lcase(file.Name),".jpg") <> 0 OR instr(lcase(file.Name),".jpeg") <> 0 then
Response.Write "<img width=150pt src=arten/"&file.Name&"><br>"
Response.Write "<center><a href=arten/"&file.Name&">" & file.Name & "</a></center>"
end if

response.write("</td>")

Next

Set objFldr = Nothing
Set objFileColl = Nothing
Set fso = nothing
%>

</tr>
</table>

</body>

</html>
----------------------------------------------------
thx @quentin für die hilfe beim script ;-)
 
Das habe ich von TTrek
bei numberColumns kannst du die Anzahl ändern !

<%
startrw = 0
endrw = HLooper1__index
numberColumns = 2
numrows = -1
while((numrows <> 0) AND (Not sqlscreens.EOF))
startrw = endrw + 1
endrw = endrw + numberColumns
%>
<tr>
<%
While ((startrw <= endrw) AND (Not xxx.EOF))
%>
<td width="50%">
<div align="left"><a href="javascript:;" onClick="MM_openBrWindow('war_screen.asp?bild_id=<%=strmessageID%>&screens_id=<%=sqlscreens("messageID")%>','Bilder','scrollbars=yes,width=800,height=600')"><img src="admin/screens/<%=strmessageID%>/<%=sqlscreens("screen1")%>" width="190" height="140" hspace="5" vspace="5" border="2" style="border-color:<%=strColor1%>;" ></a></div>
</td>
<%
startrw = startrw + 1
sqlscreens.MoveNext()
Wend
%>

Das Zeug´s wo die Schleife beginnt musste natürlich ändern !

Script Bsp.

Dann geh auf details und dann siehste immer 2 screens nebeneinander !
 
thx - aber ne kleine anmerkung: kannste vielleicht den link überprüfen, mir zeigts ne 404. seite - obwohl es eine schöne solche seite ist möchte ich doch lieber den script sehen ;-).
 
das war alles gut und recht, danke für eure tips, jetzt kommts aber :):

nun will ich meine tabelleninhalte wieder in der selben tabelle ausgeben wie ich das schon bei meiner ersten frage gestellt habe ABER:

es soll nun unter jedem datensatz (in meinem falle ein bild) ein zweite zelle geben, in der z.b. ein name steht. so dass unter jedem bild ein name steht.

das ist gar nicht so einfach... wie soll ich das angehen?
 
hi,
wiederhole doch einfach die ganze tabellenregion.. z.b.

<table width="200" border="0" cellspacing="0" cellpadding="0">
<%wiederhole mich%>
<tr>
<td>bild</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>name</td>
<td>der rest usw</td>
</tr>
<%wiederholung ende%>
</table>

oder so :)

in aktion: http://www.pixelexpect.com/portfolio.asp
 
der tip mit der wiederholung ist sicherlich toll, aber leider habe ich nicht den blassesten schimmer, wie ich das machen soll ;-).
 
ich habs nun folgendermassen gelöst:

Dim Spalten
Spalten = 0
%>
<table>
<tr>

<%
For Each file in objFileColl

Spalten = Spalten + 1
if Spalten > 3 then
Spalten = 1
response.write("</tr><tr>")
end if

response.write("<td width='100pt'>")

if instr(lcase(file.Name),".gif") <> 0 OR instr(lcase(file.Name),".jpg") <> 0 OR instr(lcase(file.Name),".jpeg") <> 0 then

Response.write"<table height=100%><tr><td>"
Response.Write"<center><img width= 150pt src=bilder/lawinen/"&file.Name&"></center>"
Response.write"</td></tr><tr><td>Test</td></tr></table>"


end if

response.write("</td>")

Next

Set objFldr = Nothing
Set objFileColl = Nothing
Set fso = nothing
%>
 
Zuletzt bearbeitet:
Zurück