PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : ASP}} datenbankinhalt in HTML tabelle ausgeben


parkbankhasi
2005-07-04, 22:40:09
hallo.

naja steht ja schon vieles im topic. unten steht der code der gerade steht.

und zwar muss um die ausgabe der datenbank inhalt noch eine HTML tabelle gebastelt werden. sprich das die schleife die daten aus den spalten der datenbank in die zellen schreibt also nicht alle datensätze in eine sondern "1 datensatz in zelle 1". "2 datensatz in zelle 2 usw."

<%
Response.Expires=0
Response.AddHeader "Pragma","no-cache"
Response.AddHeader "cache-control", "no-store"

Response.Write "Abfrageergebnis:<br>" & "<br>" & vbcrlf
Set conn = Server.CreateObject("ADODB.Connection")
'einlogen zum server
conn.Open "domain","sa","****"
'Select Abfrage
strSQL = "SELECT * from domain"
Set rs = conn.Execute(strSQL)

Do While Not(rs.EOF)
Response.Write "" & rs("TLD") & " : "
Response.Write "" & rs("Preis") & ",00 €" & "<BR>" & vbcrlf
rs.MoveNext
Loop

rs.Close
conn.Close

%>

grakaman
2005-07-04, 23:39:03
Na bei den ganzen ASP classic/PHP etc. Scriptmüll machst du das einfach so:

...
%>
<table>
<%
Do While Not(rs.EOF)
%>
<tr>
<td><%=rs("TLD")%></td>
<td><%=rs("Preis")%>,00 €</td>
</tr>
<%
rs.MoveNext
Loop

rs.Close
conn.Close
%>
</table>

sharke
2005-07-05, 08:13:00
rs.MoveNext
Loop


das meinst du ? bringt den datensatz in die nächste zelle ?

ich brauch die 3 zellen nach rechts.

sharke
2005-07-05, 09:28:15
ok habs nun gelößt.

kann mir einer sagen was im syntax "rs.EOF" das EOF heißt ?

grakaman
2005-07-05, 12:33:19
ok habs nun gelößt.

kann mir einer sagen was im syntax "rs.EOF" das EOF heißt ?

End Of File, d.h. der Cursor ist auf dem letzten Datensatz.

grakaman
2005-07-05, 12:37:34
rs.MoveNext
Loop


das meinst du ? bringt den datensatz in die nächste zelle ?

ich brauch die 3 zellen nach rechts.

Dein classic ASP Parser weiß überhaupt nichts von Tabellen, HTML etc. der fügt in meinem obigen Bsp. einfach nur den Text außerhalb der ASP Script Bereiche in die Output Pipeline.

sharke
2005-07-05, 14:49:24
so hab nun leider ein neues problem. und zwar werden alle feldaten so wie sie sollen in eine zelle verbandt und auch nur 3 spalten und dann neue zeile :)

jetzt das problem ich habe vor den datensätzen jeweils eine checkbox so nun wird aber leider eine reihe nicht ganz voll mti datensätze und nur die checkboxen werden weitergeführt was dementsprechen doof aussieht :) was muss ich machen das die checkboxen auf aufhören und nicht die zeile zuende machen :(

<table border="0" width="12%" height="48">
<%
Do While Not(rs.EOF)
%>
<tr>
<%
for i=0 to 2
%>

<td width="30"><input type="checkbox" name="tld" value="<%if not rs.EOF then response.write rs("TLD") %>"><%if not rs.EOF then response.write rs("TLD") %></td>
<%
if not rs.EOF then rs.MoveNext
next
%>

</tr>
<%
Loop

rs.Close
conn.Close
%>
<tr>

sharke
2005-07-05, 16:50:28
keiner eine ahnung wie man die checkboxen mit den datensaetzen beenden kann ? :(

grakaman
2005-07-05, 19:07:46
Also irgendwie ist es schwierig, dich zu verstehen. Ich vermute jetzt mal TLD ist leer und du möchtest entsprechend keine Zeile in der Tabelle darstellen. Da hilft dir deine Abfrage auf eof aber nicht weiter. Denn dein Loop durchläuft ja eh nur alle vorhandenen Datensätze. Probiere mal folgendes:


<%
Do While Not(rs.EOF)
IF rs("TLD") <> "" THEN
%>
<tr>
<td width="30"><input type="checkbox" name="tld" value="<%=rs("TLD") %>"><%=rs("TLD") %></td>
<%
END IF
rs.MoveNext
next
%>

massa
2005-07-05, 21:33:03
Also irgendwie ist es schwierig, dich zu verstehen. Ich vermute jetzt mal TLD ist leer und du möchtest entsprechend keine Zeile in der Tabelle darstellen. Da hilft dir deine Abfrage auf eof aber nicht weiter. Denn dein Loop durchläuft ja eh nur alle vorhandenen Datensätze. Probiere mal folgendes:


<%
Do While Not(rs.EOF)
IF rs("TLD") <> "" THEN
%>
<tr>
<td width="30"><input type="checkbox" name="tld" value="<%=rs("TLD") %>"><%=rs("TLD") %></td>
<%
END IF
rs.MoveNext
next
%>


du schlägst scheinbar vor den rs("TLD") auf NULL-Werte oder leere Felder abzupfüfen.

Dann wäre es IMHO geschickter

IF NOT ISNULL(rs("TLD")) THEN

zu formulieren

;)

grakaman
2005-07-05, 21:54:20
du schlägst scheinbar vor den rs("TLD") auf NULL-Werte oder leere Felder abzupfüfen.

Dann wäre es IMHO geschickter

IF NOT ISNULL(rs("TLD")) THEN

zu formulieren

;)

Ich bin kein VB Scripter und kenne mich da nur recht rudimentär aus. Ich weiß jetzt auch nicht, ob die Funktion ISNULL von VB/VBScript beides abdeckt oder eben nur auf null prüft. Aber wenn TLD z.B. einen Leerstring enthält, dann würde das imo nicht gehen.

massa
2005-07-05, 22:05:00
richtig, leerstring ist ja auch kein null wert ;)
aber leerstrings speichert man ja wiederum auch nicht in einer DB ab.
wobei ich vb nun auch nicht einfach als script abstempeln würde, aber das tut ja nix zur sache ;)

@sharke
nur so am rand, wenn du in deiner Schleifenbedingung den Recordset bereits auf EOF prüfst, dann musst du das nicht noch zig mal innerhalb der Schleife tun ;)

grakaman
2005-07-05, 22:13:04
richtig, leerstring ist ja auch kein null wert ;)
aber leerstrings speichert man ja wiederum auch nicht in einer DB ab.
wobei ich vb nun auch nicht einfach als script abstempeln würde, aber das tut ja nix zur sache ;)


Classic ASP kann man aber nur mit VBScript/Jscript programmieren. Das einzige, was dort in VB geschrieben sein könnte, ist ein COM Objekt, auf das man von ASP Scriptseite zugreifen kann.