CoccozzMedlem sedan apr. 20032 072 inlägg Hej!
Jag håller på att loopa ut en tabell. Eller rättare sagt två tabeller. Jag vill nämligen skriva ut informationen på bredden.
Rubrik 1 Rubrik2
---------- --------- osv.
Text 1 Text 2
Istället för:
Rubrik 1
----------
Text 1
Rubrik 2
----------
Text 2
osv.
Därför tänkte jag att om man först loopar tabellen med rubrikerna i och sedan loopar tabellen med texten i för sig så borde det fungera. Hur skriver jag en sådan ASPsats är då frågan?!
<%Do Until RS.EOF%>
<td width='175'><p style="margin-left: 10; margin-top: 0; margin-bottom: 0"><b><%=RS("title")%></b></td>
<%RS.MoveNext
Loop%>
</table>
<table border='0' cellpadding='0' cellspacing='0' style='border-collapse: collapse; border-width: 0' bordercolor='#111111' width='100%' id='AutoNumber2'>
<%Do Until RS.EOF%>
<td width='175'><p style="margin-left: 10; margin-top: 0; margin-bottom: 0"><%=RS("text")%><p style="margin-left: 10; margin-top: 0; margin-bottom: 0"><br><br></td></tr>
<%RS.MoveNext
Loop%>
Så där ser kodsnutten ut idag, men nu loopar han bara ut den första tabellen, det vill säga tabellen med text i loopas inte ut.
Snälla hjälp!
CoccozzMedlem sedan apr. 20032 072 inlägg Är det så svårt eller har alla ASPproffs tagit sovmorgon idag?
Jesper TMedlem sedan nov. 20017 144 inlägg Du kan väl ge mer än två minuters betänketid för folk eller? ;)
CoccozzMedlem sedan apr. 20032 072 inlägg Vet inte vad du ser, men enligt mig är det en timme som har gått sedan frågan ställdes.
Har lite bråttom, vill helst lösa det så snart som möjligt eftersom jag sitter helt fast tills det är löst :(.
För övrigt brukar wF-tomtarna aldrig låta någon vänta :e
Jesper TMedlem sedan nov. 20017 144 inlägg Jag skulle ha skrivit en sql och plocka ut raderna med getrows()
och göra två loopar.
<%
'Connection och annat
Set rs = connection.execute("SELECT strRubrik,strText FROM myTable")
If Not rs.eof then myRows=rs.getRows()
rs.Close : connection.close
If isarray(myRows) then
%>
<table width="0" border="0" cellspacing="0" cellpadding="0">
<tr>
<%
For i = 0 to ubound(myRows,2)
Response.write "<td>"& myRows(0,i) &" </td>"
Next
%>
</tr>
<tr>
<%
For i = 0 to ubound(myRows,2)
Response.write "<td>"& myRows(1,i) &" </td>"
Next
%>
</tr>
</table>
<%
End if
%>
CoccozzMedlem sedan apr. 20032 072 inlägg Okej... Nu har jag inte riktigt så grymma skills i ASP som du, men det märkte du nog på min kodsnutt :e.
Jobbar febrilt på att förstå vad du har skrivit. Det ser dock ut att vara vad jag vill ha i tabellväg, där rubrikerna står i vågrätt följd, och texterna likaså i "raden" under.
r// Får felmeddelande
Feltyp:
Körningsfel i Microsoft VBScript (0x800A01A8)
Objekt krävs.: ''
/nydes/nydes 2/news/news bulletin/default.asp, line 44
Stycke kring rad 44:
set Rs = Server.CreateObject("ADODB.Recordset")
RS.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.Mappath("../../../../uhamn/evangemang.mdb")
Rs.Source = "Select \* From handelser Where dd = " & dd & " AND mm = " & mm & " AND yyyy = " & yy
Rs.Open()
Set rs = connection.execute("SELECT Title,Text FROM handelser")
If Not rs.eof then myRows=rs.getRows()
rs.Close : connection.close
J.N.Medlem sedan apr. 20031 660 inlägg HEJ!
Din "connection" heter inte så, utan "RS.ActiveConnection".
Dessutom gör du två saker, RS.Open() öppnar väl också det?
Använder inte det rs/db-sättet, men det ser ut som du gör två saker på samma gång?
CoccozzMedlem sedan apr. 20032 072 inlägg Jag vet inte vad jag gör, det är det som är det värsta :r. Begriper noll av Jesper T sats, han har lite mer skills i ASP än jag :p.
Skall se vad jag kan hitta på för något, men fler förslag på lösningar vor mkt välkommna.
Tack//
Jesper TMedlem sedan nov. 20017 144 inlägg Dim connection, rs, myRows, i, ub
set connection = server.createobject("adodb.connection")
connection.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.Mappath("/uhamn/evangemang.mdb")
Set rs = connection.execute("Select Title,[Text] From handelser Where dd = " & dd & " AND mm = " & mm & " AND yyyy = " & yy)
If Not rs.eof then myRows = rs.getRows()
rs.Close : set rs = nothing
connection.close : Set connection = nothing
If isarray(myRows) then
ub = ubound(myRows,2)
%>
<table width="0" border="0" cellspacing="0" cellpadding="0">
<tr>
<%
For i = 0 to ub
Response.write "<td>"& myRows(0,i) &" </td>"
Next
%>
</tr>
<tr>
<%
For i = 0 to ub
Response.write "<td>"& myRows(1,i) &" </td>"
Next
%>
</tr>
</table>
<%
End if
%>
CoccozzMedlem sedan apr. 20032 072 inlägg Så, nu fungerar det utmärkt :D
Behöver bara hjälp med att få bredden på tabellen att anpassa sig efter innehållet. Med det menar jag att varje cell verkligen blir 175px. Som fallet är just nu så drar den första ihop sig för att allt skall få plats :(
CoccozzMedlem sedan apr. 20032 072 inlägg Bifogar en bild på hur det ser ut nu också ;)
GuffaMedlem sedan juni 2004533 inlägg Det är alldeles normalt att tabellen anpassar sig efter innehållet, det ska den göra.
Ifall du vill att cellerna ska vara 175 pixel bred så får du sätta width="175" på varje cell.
CoccozzMedlem sedan apr. 20032 072 inlägg Då funkade det igen ja :D
Trodde jag hade det... :r
Tack för hjälpen//
CoccozzMedlem sedan apr. 20032 072 inlägg Hur gör jag ifall jag bara vill skriva ut de 50första tecknen i texten?
"& myRows(1,i) &"
Tack på förhand//
CoccozzMedlem sedan apr. 20032 072 inlägg Misstänkte att det var något sådant eftersom jag har det på andra ställen, men det är svårt när man inte riktigt förstår allt :r. Börjar dock få hyffsat grepp om din kodsnutt.
Tack för hjälpen//
Jesper TMedlem sedan nov. 20017 144 inlägg Man skulle även kunna skriva : left(myRows(1,i),50)
Men om databasen innehåller ett nullvärde så kommer du få ett fel.
Jesper T skrev:
Man skulle även kunna skriva : left(myRows(1,i),50)
Men om databasen innehåller ett nullvärde så kommer du få ett fel.
Jag tar för vana att alltid skriva...
"" & variabel & ""
...så slipper man alltid fel, vad det än gäller.
Jesper TMedlem sedan nov. 20017 144 inlägg inte om variabeln är null
CoccozzMedlem sedan apr. 20032 072 inlägg Det är helt lugnt, databasen innnehåller inga null-värden. Iaf. inte i textspalten där denna används :D
Tack för hjälpen//