Avatar billede larsen45 Juniormester
26. august 2008 - 18:17 Der er 12 kommentarer og
1 løsning

ASP Kategori oversigt Alle indlæg poster

Hvordan laver man en Kategori opdeling i asp som viser følgende:
Med access database.


Menu.asp
--------
Mad (499) poster ialt under selve kategorien mad
penge (350) poster ialt under selve kategorien mad
Arbejde (80) poster ialt under selve kategorien mad
Ferie (60) poster ialt under selve kategorien mad
Andet (31) poster ialt under selve kategorien mad

Når man så trykker på linket Mad, så bliver man sendt videre til en hjemmeside, som viser alle de poster, og indlæg fra Mad kategorien.



kategori.asp
Kategori mad f.eks.

Mad Post indlæg nr. 1
-----------------------------
Overskrift bla bla
Tekst bla bla
Link bla bla


Mad Post indlæg nr. 2
-----------------------------
Overskrift bla bla
Tekst bla bla
Link bla bla
------------------------
og så videre derud af 345678910. Så man for vist alle indlæg fra Kategorien "Mad" under hinanden,
ud i en stor kører en oversigt, over alt hvad der har været i denne kategori kan folk
så læse på 1 asp side under hinanden.

Når der så bliver klikket på Ferie kategorien i Menu.asp skal folk sendes direkte videre til alle poster,
på samme måde i en samlet oversigt, og kunne læse alt indholdet 1 efter 1 derud af.

Hvis vi tager udgangspunkt i nået i stil med:

Menu.asp
<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("db.mdb")
Conn.Open DSN

strSQL et eller andet?????

Set rs = Conn.Execute(strSQL)
Do Until rs.EOF
%>

Mad (499) poster ialt under selve kategorien mad
penge (350) poster ialt under selve kategorien mad
Arbejde (80) poster ialt under selve kategorien mad
Ferie (60) poster ialt under selve kategorien mad
Andet (31) poster ialt under selve kategorien mad

<%
rs.MoveNext
Loop
rs.Close
Set rs = Nothing
%>

Og så ved jeg ikke lige hvordan kategori.asp delen skal se ud.

Jeg har følgende felter i database tabellen:
id (autonummering)
kategoriid (tal)
kategori (viser teksten mad, penge m.v.)
Dato (dato og klokken)
hits (tal)
Overskrift
Indhold
link
Avatar billede softspot Forsker
26. august 2008 - 18:26 #1
Du burde kunne bruge denne SQL til oversigten:

<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("db.mdb")
Conn.Open DSN

strSQL = "SELECT kategori, kategoriid, count(*) AS antalIKategorien " & _
    "FROM kategorier " & _
    "GROUP BY kategori, kategoriid"

Set rs = Conn.Execute(strSQL)
Do Until rs.EOF
%>

<%=rs("kategori"%> (<%=rs("antalIKategorien")%>) poster ialt under selve kategorien

<%
  rs.MoveNext
Loop
rs.Close
Set rs = Nothing
%>
Avatar billede larsen45 Juniormester
26. august 2008 - 19:36 #2
Hejsa Softspot

Jeg har siddet og arbejdet med det du har vist.
Jeg har fået lavet mig en menu.asp ud det.
Men sig mig lige en ting hvordan henter jeg oplysninger ind på en oversigt en oversigts side:

Jeg har pt sådan et link her på min Menu.asp side:
<a href="kategorier.asp?kategori=<%=rs("kategoriid")%>"> <%=rs("kategori")%> (<%=rs("antalIKategorien")%>)</a><br>

Hvad gør jeg for at få vist oplysningerne på en kategori.asp oversigts side, hver gang en person klikker på en menu linkene.

Jeg skal have fundet ud af, at få hentet indlæggende ind igennem kategoriid og vist oplysningerne med alle posterne.
Avatar billede softspot Forsker
26. august 2008 - 19:51 #3
Kategorisiden (den med alle indlæg i en kategori) kunne genereres på denne måde:

<%
kategoriid = Request.QueryString("kategori")
if not isempty(kategoriid) and isnumeric(kategoriid) then
  Set Conn = Server.CreateObject("ADODB.Connection")
  DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
  DSN = DSN & "DBQ=" & Server.MapPath("db.mdb")
  Conn.Open DSN

  taeller = 1
  strSQL = "SELECT * " & _
    "FROM kategorier " & _
    "WHERE kategoriid = " & kategoriid

  Set rs = Conn.Execute(strSQL)
  Do Until rs.EOF
%>
    <%=rs("kategori")%> Post indlæg nr. <%=taeller%>
    ------------------------------
    <%=rs("overskrift"%>
    <%=rs("indhold")%>
    <a href="<%=rs("link")%>"><%=rs("link")%></a>
<%
    rs.MoveNext
    taeller = taeller + 1
  Loop
  rs.Close
  Set rs = Nothing
else
  Response.Write("Der er ikke angivet en gyldig kategori.")
  Response.End
  ' DER KAN EVT. BLOT REDIRECTES TIL OVERSIGTEN I STEDET...
end if
%>
Avatar billede larsen45 Juniormester
26. august 2008 - 20:13 #4
den giver en fejl som siger:

Microsoft OLE DB Provider for ODBC Drivers error '80040e07'
[Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression.

på denne linie her:  Set rs = Conn.Execute(strSQL)
Avatar billede softspot Forsker
26. august 2008 - 20:17 #5
Hedder tabellen rent faktisk "kategorier"? For ellers skal du jo indsætte det rigtige navn i stedet...
Avatar billede softspot Forsker
26. august 2008 - 20:18 #6
Og har du kaldt siden fra din menu.asp via et af de links som er genereret fra menu.asp?
Avatar billede larsen45 Juniormester
26. august 2008 - 20:25 #7
Jeg har rettet "FROM mintabel " & _  og jeg har også rettet database navnet til.

Jeg har også kaldt siden fra min menu.asp side hvor hvert link i menuen ser sådan her ud:
kategori.asp?kategori=1
Kategori.asp?kategori=8
osv...
Avatar billede softspot Forsker
26. august 2008 - 20:31 #8
Er kolonnen "kategoriid" af typen tal i databasen, eller når du siger tal, men du så bare at den kun indeholder tal, men rent faktisk har en anden type (f.eks. tekst)?

Kan du evt. prøve at indsætte dissee linier umiddelbart før set rs = Conn.Execute(strSQL):

Response.Write strSQL
Response.Flush

Prøv så at kalde siden igen (fra menu.asp) og fortæl mig hvad siden skriver (ud over fejlbeskeden)...
Avatar billede larsen45 Juniormester
26. august 2008 - 21:01 #9
Hov godt du sagde det, jeg havde kommet til at lave kategoriid om til notat felt fremfor Tal.
Det må du meget undskylde sikke en dum fejl fra min side af, det virker nu.
Tusind Mange tak for den gode hjælp point er på vej.
Hvis du har tid og lyst en dag, kan vi tage en sludder på msn: sbl@dbmail.dk
Avatar billede larsen45 Juniormester
26. august 2008 - 21:01 #10
hov du skal lige svarer først før jeg kan give point til dig
Avatar billede softspot Forsker
26. august 2008 - 21:03 #11
Velbekomme :)
Avatar billede softspot Forsker
26. august 2008 - 21:06 #12
Tak for point :)
Avatar billede softspot Forsker
26. august 2008 - 21:12 #13
Forresten har aelling.lir.dk skiftet adresse til www.aelling-online-tv.dk i stedet (jeg kunne se at du har et link til dem på din side :-)).
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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