Avatar billede Slettet bruger
12. juni 2003 - 13:32 Der er 10 kommentarer

Næste record i DB

Hej.

Dette spørgsmål omhandler dette:
http://www.balladefis.dk/downloads.asp?content=galleri&cat=8&ID=213&count=null

Man skal være medlem for at se billedet, men det er ligegyldigt. Dét det handler om er, at der står et link under det sted hvor billedet skulle stå, som hedder "<- Tilbage". Dette link fører hen til kategorien, altså http://www.balladefis.dk/downloads.asp?content=galleri&cat=8&count=null

Det jeg så har tænkt mig er:

"<- Tilbage" fører hen til et tidligere billede, hvor request("ID") er højere end det i databasen. Altså hvis ID er = 213, så burde linket MEGET gerne være til ID = 212.

"Kategori" - intet problem, bare et link til kategorien ved brug af request("cat")

"Næste ->". Dette link skulle meget gerne føre hen til næste billede, hvor ID'en er højere end det ID til det billede, som vi ser netop nu. Altså højere end 213, det må så være 214.

Forrige og næste records i databasen skal have deres kategorier i orden:

http://www.balladefis.dk/downloads.asp?content=galleri&cat=8&ID=213&count=null

ID 213 tilhører altså kategorien "8", da der står "cat=8". Dvs, at de links skal kunne føre hen til forrige eller næste billede i databasen, HVOR feltet "imagecat" i databasen er ligmed request("cat") og hvor ID i databasen er højere eller lavere end request("ID").

Begge steder skal være sådan, at hvis der IKKE findes et record (mindre eller højere end request("ID") hvor imagecat er ligmed request("cat")), så skal der eksempelvis stå noget tekst.. f.eks. "<- Tilbage" som man ikke kan klikke på og "Næste ->" som man ikke kan klikke på. Men hvis imagecat er identisk, og ID er lavere end billedets, så kan man klikke på "<- Tilbage". Samme princip med "Frem ->".

På denne måde skulle man være i stand til at navigere mellem billederne, blot ved at records i databasen opfylder kategori-ID'en, og en højere eller lavere værdi af "ID".

Felter i databasen (tabel: "galleri_images", hvor billederne er):

ID = Autonumber, ID til hvert billede

imagecat = tekst-felt, indeholder kategori-ID'en som tilknytter nogle billeder til en bestemt kategori. Kategorier: http://www.balladefis.dk/downloads.asp?content=galleri
Avatar billede mccannon Nybegynder
12. juni 2003 - 13:38 #1
http://www.balladefis.dk/downloads.asp?content=galleri&cat=8&ID=<%=RS("id")-1%>&count=null  <-- hvis man skal tilbage

http://www.balladefis.dk/downloads.asp?content=galleri&cat=8&ID=<%=RS("id")+1%>&count=null  <-- hvis man skal frem
Avatar billede Slettet bruger
12. juni 2003 - 13:43 #2
okay, og hvad så hvis den giver fejl, fordi id -1 har et andet catID end 8?

Lad os nu antage at vi er ved det sidste billede:
http://www.balladefis.dk/downloads.asp?content=galleri&cat=8&ID=203

Så skal der linkes til forrige billede, dvs der bliver trukket 1 fra 203, og vi får det her link:
http://www.balladefis.dk/downloads.asp?content=galleri&cat=8&ID=202

Kan du se fejlen? ID'en 202 tilhører IKKE catID'en 8, men prøv at skifte 8-tallet ud med 7:
http://www.balladefis.dk/downloads.asp?content=galleri&cat=7&ID=202

Kan du se hvad mit problem er nu?
Avatar billede mccannon Nybegynder
12. juni 2003 - 13:44 #3
hvis mig lige koden fra den side hvor du laver de links
Avatar billede mccannon Nybegynder
12. juni 2003 - 13:44 #4
øhh .mente vis :)
Avatar billede Slettet bruger
12. juni 2003 - 13:50 #5
*******************************
Kategorier bliver vist
*******************************
<%
if request("cat") = "" then
Set rs = Server.CreateObject("ADODB.RecordSet")
rs.Open "SELECT * FROM [galleri_cat] ORDER BY [dato] DESC", Conn, 1, 3
%>
<font size="4">Galleri</font></font><hr color="#305C94">
<div align="center"><center>
<%
Do until rs.EOF

'til billed-tælling:
Do until rs.EOF
SQL = "SELECT Count(*) as antalpics from galleri_images where imagecat = '" & rs("ID") & "'"
Set rsantalpics = Conn.Execute(SQL)
'Do until rs.EOF
'SQL = "SELECT Count(*) as antalcomments from comments where type = 'galleri' AND catid = '" & rs("ID") & "'"
'Set rsantalcomments = Conn.Execute(SQL)
%>
<table border="1" cellspacing="1" style="border-collapse: collapse" bordercolor="#DDE4EE" width="95%" bgcolor="#F0F5FA" cellpadding="4">
<tr>
<td width="50%">
<p align="center"><font size="1"><b><%=rs("titel")%></b></td>
</tr>
<tr>
<td width="50%">
<font size="1"><%=rs("beskrivelse")%><br><div align="right"><font color="gray"><%=rsantalpics("antalpics")%> billeder, kategori vist <%=rs("downloads")%> gange</font></div></td>
</tr>
<tr>
<td width="50%">
<font size="1"><div align="right"><b><a href="/downloads.asp?content=galleri&cat=<%=rs("ID")%>">[Se billederne]</a></b></div></td>
</tr>
</table><br>
<%
rs.MoveNext
Loop
'rsantalcomments.Movenext
'Loop
rsantalpics.Movenext
Loop
%>
</center></div>
<%
end if
%>

*******************************
Kategori valgt, billederne som tilhører kategorien bliver vist
*******************************
<%
if request("cat") <> "" AND request("ID") = "" then
    if request("count") <> "null" then
        Set Conn = Server.CreateObject("ADODB.Connection")
        DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
        DSN = DSN & "DBQ=" & Server.MapPath("/database.mdb")
        Conn.Open DSN
            strSQL= "UPDATE [galleri_cat] SET [downloads] = [downloads]+1 WHERE [ID] = "  & request("cat")
            Conn.Execute(strSQL)
            Conn.Close
        Set Conn = Nothing
        Set Conn = Server.CreateObject("ADODB.Connection")
        Conn.Open ("Driver={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("/database.mdb"))
    end if
Set rs = Server.CreateObject("ADODB.RecordSet")
rs.Open "SELECT * FROM galleri_cat WHERE id = " & Request("cat"), Conn, 1, 1
%>
<br><font size="2"><b><%= rs("titel") %></b></font></font><hr color="#305C94">
<%
Set rs = Server.CreateObject("ADODB.RecordSet")
rs.Open "SELECT * FROM galleri_images WHERE imagecat = '" & request("cat") & "' ORDER BY [dato] ASC", Conn, 1, 1
%>
<div align="center">
<center>
<table border="0" width="95%" bordercolor="#C0C0C0" cellspacing="3">
<%
Do until rs.EOF
if i = 0 then response.write("<tr>")
%>
<td width="20%" align="center" onmouseover="this.bgColor='#DDE4EE'" onmouseout="this.bgColor='#FFFFFF'"><a href="/downloads.asp?content=galleri&cat=<%=request("cat")%>&ID=<%=rs("ID")%>"><img src="<%=rs("url")%>" width="50" height="60" border="0" alt="<%=rs("titel")%>"></a></td>
<%
i = i + 1
if i = 5 then
response.write("</tr>")
i = 0
end if
rs.MoveNext
Loop
%>
</table>
</center>
</div>
<font size="1"><a href="/downloads.asp?content=galleri"><- Tilbage</a></font>
<%
end if
%>


*******************************
Billedet til den tilhørende kategori valgt. Billedet vises
*******************************
<%
if request("cat") <> "" AND request("ID") <> "" then
    if request("count") <> "null" then
        Set Conn = Server.CreateObject("ADODB.Connection")
        DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
        DSN = DSN & "DBQ=" & Server.MapPath("/database.mdb")
        Conn.Open DSN
            strSQL= "UPDATE [galleri_images] SET [downloads] = [downloads]+1 WHERE [ID] = "  & request("ID")
            Conn.Execute(strSQL)
            Conn.Close
        Set Conn = Nothing
        Set Conn = Server.CreateObject("ADODB.Connection")
        Conn.Open ("Driver={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("/database.mdb"))
    end if
Set rs = Server.CreateObject("ADODB.RecordSet")
rs.Open "SELECT * FROM galleri_images WHERE imagecat = '" & Request("cat") & "' AND id = " & Request("ID"), Conn, 1, 1
    if rs("comments") = "nej" then
        strComments = "nej"
    end if   
%>
<font color="#000000"><b><%=rs("titel")%></b></font>
<div style="padding:5px;background-color:#f0f5fa; border:1px solid; border-color:#dde4ee;"><font size="1">
<%=rs("beskrivelse")%>
</font><br></div><br>

<div style="padding:5px;background-color:#f0f5fa; border:1px solid; border-color:#dde4ee;"><font size="1">
<br><center>
<% If Session("BalladeFisUserlogin_" & strBrugernavnlogin) <> "ok" then %>
<img src="/images/no_picture.jpg" alt="Kun synlig for members">
<br><br><center><i><font color="red">Du skal være logget ind for at se galleri-billeder.<br>Du logger ind eller opretter dig som bruger i menuen til højre.</font></i></center>
<% end if %>
<% If Session("BalladeFisUserlogin_" & strBrugernavnlogin) = "ok" then %>
<img src="<%=rs("url")%>" alt="<%=rs("titel")%>">
<% end if %>
</center>
</font><br></div><center>Billedet er blevet vist <%=rs("downloads")%> gange</center>
<%
Set rs = Server.CreateObject("ADODB.RecordSet")
rs.Open "SELECT * FROM galleri_images WHERE id = " & Request("ID"), Conn, 1, 1
%>
<a href="/downloads.asp?content=galleri&count=null&cat=<%=request("cat")%>"><- Tilbage</a><br>
<hr color="#305C94">
<font color="#000000" size="2" face="helvetica"><b>Kommentarer</b></font></font><br><br>
<%
c = 0
Set rs = Server.CreateObject("ADODB.RecordSet")
rs.Open "SELECT * FROM comments WHERE type = 'galleri' AND catid = '" & Request("cat") & "' AND typeid = '" & Request("ID") & "' ORDER BY [dato] ASC", Conn, 1, 1
Do until rs.EOF

'comment-tæller
c = c + 1
%>
<font size="1">#<%=c%> @ <% If rs("email") <> "" Then Response.Write("<a href='mailto:" & rs("email") & "'>" & rs("afsender") & "</a>") Else Response.Write(rs("afsender")) End If %> (<%=(array("Søndag", "Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag", "Søndag"))(Weekday(rs("dato"), vbMonday))%> d. <%= Day(rs("dato")) %>. <%=(array("december", "januar", "februar", "marts", "april", "maj", "juni", "juli", "august", "september", "oktober", "november", "december"))(month(rs("dato")))%>, <%= Year(rs("dato")) %> kl. <%=(array("00", "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "00"))(hour(rs("dato")))%>:<%=(array("00", "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33", "34", "35", "36", "37", "38", "39", "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", "50", "51", "52", "53", "54", "55", "56", "57", "58", "59", "00"))(minute(rs("dato")))%>:<%=(array("00", "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33", "34", "35", "36", "37", "38", "39", "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", "50", "51", "52", "53", "54", "55", "56", "57", "58", "59", "00"))(second(rs("dato")))%>)</font>
<div style="padding:5px;background-color:#f0f5fa; border:1px solid; border-color:#dde4ee;"><font size="1">
<%= rs("kommentar") %>
</div>
<br><br>
<%
rs.MoveNext
Loop
if c = 0 then response.write("<font size='1' color='red'><center><i>Der er ingen kommentarer til dette billede...</i></center>")
if strComments <> "nej" then
%>
<hr color="#305C94">
<font color="#000000" size="2" face="helvetica"><b>Tilføj kommentar</b></font>
    <form action="/actions/comments.asp?action=add&type=galleri&catid=<%=request("cat")%>&typeid=<%=request("id")%>" method="post">
    <% strNavn = Request.Cookies("BalladeFisTagwall")("navn") %>
    <% strEmail = Request.Cookies("BalladeFisTagwall")("email") %>
    <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="66%" height="102">
        <tr>
            <td width="17%" valign="top" height="17"><font color="#000000" size="1">Navn:</font></td>
            <td width="14%" height="17"></td>
            <td width="69%" valign="top" colspan="2" height="17"> <input type="text" name="navn" value="<%= strNavn %>" size="20" maxlength="20" style="border:1px solid #C0C0C0; font-family: Tahoma; font-size: 8pt; padding-left:4; padding-right:4; padding-top:1; padding-bottom:1; background-image:url('/images/back.jpg')"><font size="1">&nbsp;* Feltet SKAL udfyldes</td>
        </tr>
        <tr>
            <td width="17%" valign="top" height="17"><font color="#000000" size="1">E-Mail:</font></td>
            <td width="14%" height="17"></td>
            <td width="69%" valign="top" colspan="2" height="17"> <input type="text" name="email" value="<%= strEmail %>" size="20" maxlength="255" style="border:1px solid #C0C0C0; font-family: Tahoma; font-size: 8pt; padding-left:4; padding-right:4; padding-top:1; padding-bottom:1; background-image:url('/images/back.jpg')"><font size="1">&nbsp;* Valgfrit</td>
        </tr>
        <tr>
            <td width="17%" valign="top" rowspan="2" height="69"><font color="#000000" size="1">Besked:</font></td>
            <td width="14%" rowspan="2" height="69">&nbsp;</td>
            <td width="69%" valign="top" colspan="2" height="67"> <textarea name="kommentar" cols="49" rows="5" style="border:1px solid #C0C0C0; font-family: Tahoma; font-size: 8pt; padding-left:4; padding-right:4; padding-top:1; padding-bottom:1; background-image:url('/images/back.jpg')"></textarea></td>
        </tr>
        <tr>
        <td width="69%" valign="top" colspan="2" height="2"></td>
        </tr>
        <tr>
            <td width="17%" height="1">
            </td>
            <td width="14%" height="1"></td>
            <td width="35%" height="1">
                <p align="right">
                <input type="submit" value="Indsend" style="background-color: #EEEEEE; font-family: Tahoma; font-size: 8pt; color: #305C94; float:left"></td>
            <td width="34%" height="1">
                <input type="reset" value="Slet Alt" style="background-color: #EEEEEE; font-family: Tahoma; font-size: 8pt; color: #305C94; float:right" name="reset"></td>
        </tr>
    </table>
</form>
<%
end if
if strComments = "nej" then response.write("<font color='red' size='1'><center>BalladeFis.dk har spærret for flere kommentarer til dette billede</center></font><br>")
end if
%>
Avatar billede mccannon Nybegynder
12. juni 2003 - 14:02 #6
hmm når du henter et billed frem har er der så ikke et kategori id hæftet på det billed ?
Avatar billede Slettet bruger
12. juni 2003 - 14:04 #7
prøv at læse det jeg har skrevet i spørgsmålet.

Citat:

På denne måde skulle man være i stand til at navigere mellem billederne, blot ved at records i databasen opfylder kategori-ID'en, og en højere eller lavere værdi af "ID".

Felter i databasen (tabel: "galleri_images", hvor billederne er):

ID = Autonumber, ID til hvert billede

imagecat = tekst-felt, indeholder kategori-ID'en som tilknytter nogle billeder til en bestemt kategori. Kategorier:
Avatar billede mccannon Nybegynder
12. juni 2003 - 14:12 #8
ingen grund til at blive fornærmet..
men det kan se ud til du er nød til at hente det imagecat ud fra databasen hvor du trækker 1 fra id eller ligger en til

feks
select imagecat from tabel where id = " & id-1
Avatar billede Slettet bruger
12. juni 2003 - 14:17 #9
fornærmet? nej nej :)

imagecat er fast.. det er intet med det at gøre - det der skal ske er, at finde et lavere eller højere billedeID, hvor IMAGECAT er ligmed 8. Hvis næste billede har en lavere ID, og cat ikke er 8, men eksempelvis 7, så skal den ignorere billedet. Hvis ingen fundet, så laver den intet link.. det her er forvirrende...

http://www.eksperten.dk/spm/363854

Det er noget MEGET lignende med denne guts spørgsmål - bare lidt mere avanceret.
Avatar billede hossein Nybegynder
12. juni 2003 - 15:25 #10
Kan den ikke laves som en side paging?
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