Avatar billede gat Nybegynder
10. juli 2001 - 14:58 Der er 14 kommentarer og
1 løsning

database og links med kategori opdeling

Hej, mit problem er at jeg har en database der indeholder links som hører til forskellige kategorier, disse vises så på en side, men kun de fem første(har jeg fået til at virke). Så vil jeg gerne have at det 6. link under hver kategori hedder \"flere...\" og som så fører til en side som eks. hedder flere.asp, på denne side skal alle links fra en bestemt kategori så vises. Det jeg gerne ville undgå er jo så at skulle lave en side for hver kategori. Håber nogen vil hjælpe gerne med noget kode

PL
Avatar billede Slettet bruger
10. juli 2001 - 15:03 #1
Du skal da klart bruge paging til det formål :o)
http://www.activeserverpages.dk/aspdigital/kapitel2/paging.asp kan sagtens modificeres til dit formål..
Så får du en side der hedder f.eks. links.asp?page=2  =3  =4 osv osv.
Avatar billede gat Nybegynder
10. juli 2001 - 15:09 #2
nej, for jeg vil kun have en \"side\" og kun vise 5 links fra hver kategori....der er mange kategorier. Det skyldes at det skal være overskueligt, og det er ikke smart hvis kategori 19 først optræder på side 5
Avatar billede Slettet bruger
10. juli 2001 - 15:13 #3
Det har da intet med sagen at gøre...
Det er da ligenetop det du skal benytte paging til..
Avatar billede jakobandersen Nybegynder
10. juli 2001 - 15:13 #4
Du bruger vel bare en

If Not Request.Querystring(\"mode\") = All Then
Set objRS = objConn.execute(\"SELECT TOP 5 * FROM tabel Orderby Idfelt\")
\'Udskriv de fem links
Response.write \"<a href=\"\"\" & REquest.Servervariables(\"SCRIPT_NAME\") & \"?mode=All\"\">flere..</a>
Else
Set objRS = objConn.execute(\"SELECT * FROM tabel\")
\'Udskriv
End if
Avatar billede jakobandersen Nybegynder
10. juli 2001 - 15:14 #5
Hovsa:

If Not Request.Querystring(\"mode\") = All Then
Set objRS = objConn.execute(\"SELECT TOP 5 * FROM tabel Orderby Idfelt\")
\'Udskriv de fem links
Response.write \"<a href=\"\"\" & REquest.Servervariables(\"SCRIPT_NAME\") & \"?mode=All\"\">flere..</a>\"
Else
Set objRS = objConn.execute(\"SELECT * FROM tabel\")
\'Udskriv alle links
End if
Avatar billede Slettet bruger
10. juli 2001 - 15:15 #6
kan vist ikke helt hamle op med Moonduck :o)
Avatar billede gat Nybegynder
10. juli 2001 - 15:41 #7
hmmm, håber du er tålmodig :-) måske du ville kigge på det jeg har lavet, og så måske vise der hvad du mener:

Set rs = Server.CreateObject(\"ADODB.RecordSet\")
strSQL = \"SELECT TOP 5 * FROM Tabel WHERE Kategori LIKE \'Kategori1\' ORDER BY ID\"
strDSN = \"DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\"&Server.MapPath(\"DB.mdb\")
rs.Open strSQL, strDSN, 1
If Not (rs.BOF Or rs.EOF) Then
Response.Write \"<table width=\'100%\'>\"
Response.Write \"<tr>\"
Response.Write \"<td width=\'100%\'><font size=\'2px\' face=\'Verdena\'><b>\" & rs(\"Kategori\") & \"</b></font></td>\"
Response.Write \"</tr>\"
Do while not (rs.BOF Or rs.EOF) 
Response.Write \"<tr>\"
Response.Write \"<td width=\'100%\'><font face=\'Verdena\' size=\'2px\'>» <a href=main.asp?mode=id&id=\" & rs(\"ID\") & \" target=\'_blank\'>\" &  rs(\"navn\") & \"</a></font></td>\"
Response.Write \"</tr>\"
rs.MoveNext
Loop
Response.Write \"<tr>\"
Response.Write \"<td width=\'100%\'><font face=\'Verdena\' size=\'2px\'>» <a href= her skal linket til flere.asp stå \"</a></font></td>\"
Response.Write \"</tr>\"
Response.Write \"</table>\"
End If

lignende er jo så lavet for hver kategori 
Avatar billede jakobandersen Nybegynder
10. juli 2001 - 15:44 #8
Hvor vil du så have vist resten når man trykker på flere?
Avatar billede gat Nybegynder
10. juli 2001 - 15:51 #9
På en helt ny side (target=\'_blank\') hvor der bare er en overskrift med kategorien og derefter listet alle links fra den pågældende kategori
Avatar billede gat Nybegynder
10. juli 2001 - 15:55 #10
jeg forestiller mig at det er noget med de her querystrings at gøre og linket sikkert kunne ligne:
a href=flere.asp?mode=kat&kat=Kategori1
Avatar billede jakobandersen Nybegynder
10. juli 2001 - 16:02 #11
Set objConn = Server.CreateObject(\"ADODB.Connection\")
strSQL = \"SELECT TOP 5 * FROM Tabel WHERE Kategori LIKE \'Kategori1\' ORDER BY ID\"
strDSN = \"DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\"&Server.MapPath(\"DB.mdb\")
objConn.Open strDSN
Set rs = objConn.Execute(strSQL)
If Not (rs.BOF Or rs.EOF) Then
Response.Write \"<table width=\'100%\'>\"
Response.Write \"<tr>\"
Response.Write \"<td width=\'100%\'><font size=\'2px\' face=\'Verdena\'><b>\" & rs(\"Kategori\") & \"</b></font></td>\"
Response.Write \"</tr>\"
Do while not (rs.BOF Or rs.EOF) 
Response.Write \"<tr>\"
Response.Write \"<td width=\'100%\'><font face=\'Verdena\' size=\'2px\'>» <a href=main.asp?mode=id&id=\" & rs(\"ID\") & \" target=\'_blank\'>\" &  rs(\"navn\") & \"</a></font></td>\"
Response.Write \"</tr>\"
rs.MoveNext
Loop
Response.Write \"<tr>\"
Response.Write \"<td width=\'100%\'><font face=\'Verdena\' size=\'2px\'>» <a href=\"visalle.asp\">Flere...</a></font></td>\"
Response.Write \"</tr>\"
Response.Write \"</table>\"
End If

Og så laver du en side der hedder visalle.asp der ser sådan her ud

Set objConn = Server.CreateObject(\"ADODB.Connection\")
strSQL = \"SELECT * FROM Tabel WHERE Kategori LIKE \'Kategori1\' ORDER BY ID\"
strDSN = \"DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\"&Server.MapPath(\"DB.mdb\")
objConn.Open strDSN
Set rs = objConn.Execute(strSQL)
If Not (rs.BOF Or rs.EOF) Then
Response.Write \"<table width=\'100%\'>\"
Response.Write \"<tr>\"
Response.Write \"<td width=\'100%\'><font size=\'2px\' face=\'Verdena\'><b>\" & rs(\"Kategori\") & \"</b></font></td>\"
Response.Write \"</tr>\"
Do while not (rs.BOF Or rs.EOF) 
Response.Write \"<tr>\"
Response.Write \"<td width=\'100%\'><font face=\'Verdena\' size=\'2px\'>» <a href=main.asp?mode=id&id=\" & rs(\"ID\") & \" target=\'_blank\'>\" &  rs(\"navn\") & \"</a></font></td>\"
Response.Write \"</tr>\"
rs.MoveNext
Loop
Response.write \"</table>\"
Avatar billede gat Nybegynder
10. juli 2001 - 16:09 #12
hehe, ja men så er jeg nødt til at lave en side for hver kategori \"visalle1, visalle2 osv.\" for på ovenstående eks. vil jeg jo kun få vist alle links fra \"kategori1\" jeg vil gerne have en side der hedder \"visalle\" men som afhængigt af om man har trykket på \"flere..\"linket i kategori1, 2, eller 3, viser linkene for den rigtige kategori....problemet ligger i linjen:
strSQL = \"SELECT * FROM Tabel WHERE Kategori LIKE \'Kategori1\' ORDER BY ID\"
Avatar billede jakobandersen Nybegynder
10. juli 2001 - 16:25 #13

strSQL = \"SELECT * FROM Tabel WHERE Kategori LIKE \'\" & Request.Querystring(\"Kategori\") & \"\' ORDER BY ID\"

Og så
<a href=\"visalle.asp?Kategori=Kategori1\">Flere...</a>
Avatar billede gat Nybegynder
10. juli 2001 - 16:56 #14
jeps så virker det
Avatar billede gat Nybegynder
10. juli 2001 - 16:59 #15
mange tak for hjælpen
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