Avatar billede sansalvador Nybegynder
10. februar 2001 - 18:16 Der er 9 kommentarer og
1 løsning

Udtræk fra Access database skal stå VED SIDEN AF HINANDEN...

Hej...

Mange har nok set at databasernes udtræk står under hinanden hele tiden...

Men hvis man nu vil have 10 til at stå under hinanden, og så 10 til igen at stå ved siden.

Lige som i en tabel med to kolonner..?

Hvad er koden til denne funktion ??


Mvh Sam

Avatar billede sansalvador Nybegynder
10. februar 2001 - 18:17 #1
Jeg skal lige tilføje at de næste 10 skal være en efterfølgning af de forrige 10... Ligesom \"paging\" bare resultaterne skal stå på samme side.... /ved siden af hinanden...


/Sam
Avatar billede stig3 Mester
10. februar 2001 - 19:37 #2
Kan du ikke bare lave en tabel i tabellen:

<table>
    <tr>
        <td>
            <table>
            udtræk 1-10
            </table>
        </td>
        <td>
            <table>
            udtræk 11-20
            </table>
            osv.
        </td>
   
    </tr>
</table>
Avatar billede jens Nybegynder
10. februar 2001 - 19:59 #3
Prøv den her:

<%@ LANGUAGE = \"VBScript\"
ENABLESESSIONSTATE = False %>
<%
Set cnDZ = Server.CreateObject(\"ADODB.Connection\")
cnDZ.Open \"DSN=yourDSNhere\"
%>
<html><body>
<%
Set rs = cnDZ.Execute(\"SELECT * FROM TABLE\")
If Not rs.EOF Then
Response.Write\"<table border=1>\"
LinkCount = 0
Do Until rs.EOF
\'change this 3 to any number you like:
If LinkCount Mod 3 = 0 Then
  If LinkCount <> 0 Then Response.Write\"</tr>\"
  Response.Write\"<tr><td>\"&rs(\"NAME\")&\"<br>\"&rs(\"DESCRIP\")&\"</td>\"
Else
  Response.Write\"<td>\"&rs(\"NAME\")&\"<br>\"&rs(\"DESCRIP\")&\"</td>\"
End If
LinkCount = LinkCount + 1
rs.MoveNext
Loop
Response.Write\"</tr></table>\"
rs.Close
Set rs = Nothing
Else Response.Write\"Sorry, no records were found!\"
End If
%>
</body></html>
<%
cnDZ.Close
Set cnDZ = Nothing
%>
Avatar billede eagleeye Praktikant
10. februar 2001 - 21:43 #4
Her er et eksempel..du kan kikke på det. Har får du også paging. Der er indsat næste/forrige..

<% Response.Buffer = True %>
<html>
<head>
<title>something</title>
</head>
<body>
<%
numColmOnPage = 2
numRowsPrColm = 5
totalRowsOnPage = numColmOnPage * numRowsPrColm
intPage = Request(\"page\")
tableName = Request(\"tname\")
if tableName = \"\" then
tableName = Request.Form(\"alpha\")
end if
If isNumeric(intPage) = False Or intPage < 1 Then
  intPage = 1
End If
Set rs = Server.CreateObject(\"ADODB.RecordSet\")
strSQL = \"SELECT * FROM abc WHERE alpha=\'\" & tableName & \"\';\"
\'strSQL = \"SELECT \" & tableName & \" FROM abc\"
strDSN = \"DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\"&Server.MapPath(\"popup.mdb\")
rs.Open strSQL, strDSN, 1
If Not (rs.BOF Or rs.EOF) Then
  rs.PageSize = totalRowsOnPage
  rs.AbsolutePage = intPage
  intRecCount = rs.PageSize
  intPageCount = rs.PageCount
%>
<table align=\"center\" valign=\"top\" cellpadding=\"5\" cellspacing=\"0\" border=\"0\">
<tr>
<%
for colmCount = 1 to numColmOnPage
    firstTime = 0
    rowsPutIntoColm = 0
    Do While (rowsPutIntoColm < numRowsPrColm)
    If (Not (rs.EOF)) then
      if firstTime = 0 Then
        %>
        <td>
        <table width=\"300\" align=\"center\" valign=\"top\" cellpadding=\"5\" cellspacing=\"0\" border=\"0\">
        <%  
        Response.Write \"<th>Column \" & colmCount & \"</th>\" \'Insert table header
        firstTime = 1
      end if
      %>
      <tr><td><%=rs(\"ID\")%> <%=rs(\"word\")%></td></tr>
      <%
      rs.MoveNext
    Else
      if firstTime > 0 Then
      %>
        <tr><td>&nbsp;</td></tr>
      <%
      end if
    End If
    \'rs.MoveNext
    rowsPutIntoColm = rowsPutIntoColm + 1
    Loop
    if firstTime > 0 Then
      %>
      </table>
      </td>
      <%
    end if
next
End If
rs.Close
Set rs = Nothing
%>
</tr>
</table>
<br>
<div align=\"center\">
<%
If Clng(intPage) > 1 Then
%>
<a href=\"wordinfo.asp?page=<%=intPage - 1%>&tname=<%=tableName%>\">Last page</a>
<%
Else
%>
Last Page
<%
End If
%>
<%
If Clng(intPage) < Clng(intPageCount) Then
%>
<a href=\"wordinfo.asp?page=<%=intPage + 1%>&tname=<%=tableName%>\">Next page</a>
<%
Else
%>
Next Page
<%
End If
%>
</div>
</body>
</html>
Avatar billede sansalvador Nybegynder
11. februar 2001 - 10:48 #5
Takker........... 

Sorry Eagleeye... men jeg tog den nemmeste først......

//Sam
Avatar billede eagleeye Praktikant
11. februar 2001 - 13:32 #6
Jow men det du har accepteret er med dette resultat:

[post1] [post2] [post3]
[post4] [post5] [post6]
osv.

Det jeg har givet dig er:

[post1] [post4]
[post2] [post5]
[post3] [post6]

Last next

Og jeg mener også det var dit spørgsmål!?!

nemmeste ?? hmm det er vist en smags sag! Det kan vi da evt tage en diskution om.
Avatar billede sansalvador Nybegynder
11. februar 2001 - 14:14 #7
Det er med 2 eller 3 kolonner....??

Det kunne man da bare ændre i \"If LinkCount Mod 3 = 0 Then \"

Også bare ændre tallet \"3\" til det antal kolonner man ønsker...

Godt nok er der ikke paging med.... men det behøber jeg heller ikke (lige i dette tilfælde)
Og der er måske også lidt mere \"porno\" i dit eksempel.... men som sagt, - jeg havde ikke brug for mere.....

Men okay.... det er en smagssag... det vil jeg give dig ret i....

Ellers tak for eksemplerne......


//Sam
Avatar billede eagleeye Praktikant
11. februar 2001 - 14:19 #8
Det er ikke om der er 2 eller 3 kolonner det er hvor databasen poster bliver placeret i tabelen..

I mit eks får du X antal kolonner hvor posterne står under hinanden.

I det andet eks får du X antal kolonner hvor posterne står ved siden af hinanden.

Hvis du forstår?
Avatar billede eagleeye Praktikant
11. februar 2001 - 14:51 #9
Du har fået et svar du kan bruge. Så ikke mere snak :-)
Avatar billede sansalvador Nybegynder
12. februar 2001 - 08:14 #10
oki......

//Sam
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester