Avatar billede peterkopi Nybegynder
07. november 2002 - 00:26 Der er 11 kommentarer og
2 løsninger

Rækkefølge af tags på tagwall skal ændres + tilføje paging

1. del)

Jeg har en tagwall på (http://www.peterogdeandrekopier.dk/gaestebog/tagwall.asp)

Den viser tags/indlæg på grundlag id (tror jeg nok - linjen siger:

if side = "" then
    set instillinger = conn.execute("SELECT * FROM instillinger")
    set rs = conn.execute("SELECT * FROM tags ORDER BY id DESC")
    if rs.eof or rs.bof then

Jeg vil gerne have, at indlæggene vises med DET NYESTE INDLÆG FØRST.

**************************


2. del)

Med hensyn til paging:
Er klar over, at jeg kan nøjes med at få vist fx de første 10 indlæg ved at skrive
    SET RS = CONN.EXECUTE("SELECT top 10 * FROM tags ORDER BY id DESC")

Men nederst på siden vil jeg gerne have en funktion à la

Forrige side    Skriv hilsen    Næste side

**************************

Jeg forestiller mig at fordele pointene 30/70 til hhv. 1. og 2. del. Brok Jer, hvis I synes det er forkert!
Avatar billede peterkopi Nybegynder
07. november 2002 - 00:28 #1
ad 1. del: Skal det være "....ORDER by date ASC" eller sådan noget?
Avatar billede peterkopi Nybegynder
07. november 2002 - 00:30 #2
Problemet med at bruge "date" må være, at der IKKE er noget klokkeslæt som kan skille de indlæg der er kommet på den samme dag! Kan jeg undgå at skulle ind og tilføje klokkeslæt på alle indlæggene?
Avatar billede medions Nybegynder
07. november 2002 - 00:34 #3
set instillinger = conn.execute("SELECT * FROM instillinger")
    set rs = conn.execute("SELECT * FROM tags ORDER BY id ASC")
    if rs.eof or rs.bof then

//>Rune
Avatar billede nogetfx Nybegynder
07. november 2002 - 00:34 #4
2: Her er et glimrende paging script...
http://activedeveloper.dk/locator.asp?guid=001000000031
Avatar billede medions Nybegynder
07. november 2002 - 00:36 #5
og til det med Forrige side og Næste side skal du bruge et Paging system... Følg instruktionerne her:

http://activedeveloper.dk/aspdigital/kapitel2/paging.asp

//>Rune
Avatar billede nogetfx Nybegynder
07. november 2002 - 00:37 #6
Jeg plejer dog at bruge pile istedet for tal

            'Pile istedet for tal

                If Clng(Page) > 1 Then
                    Response.Write "<a href=paging.asp?page=" & Page - 1 & ">&lt;&lt;</a>"
                Else
                    Response.Write "&lt;&lt;"
                End If

                Response.Write "&nbsp;"

                If Clng(Page) < Clng(rs.PageCount) Then
                    Response.Write "<a href=paging.asp?page=" & Page + 1 & ">&gt;&gt;</a> "
                Else
                    Response.Write "&gt;&gt;"
                End If
Avatar billede nogetfx Nybegynder
07. november 2002 - 00:43 #7
Og du hvis du ikke vil have ikke klikbare pile:
                If Clng(Page) > 1 Then
                    Response.Write "<a href=paging.asp?page=" & Page - 1 & ">&lt;&lt;</a>"
                End If

                Response.Write "&nbsp;"

                If Clng(Page) < Clng(rs.PageCount) Then
                    Response.Write "<a href=paging.asp?page=" & Page + 1 & ">&gt;&gt;</a> "
                Else
                    Response.Write "&nbsp;&nbsp;"
                End If
Avatar billede peterkopi Nybegynder
07. november 2002 - 00:47 #8
Her var den rigtige:

    set rs = conn.execute("SELECT * FROM tags ORDER BY dato DESC")

...sådan cirka. For kan man ikke lave en SELECT, der først sorterer efter "dato" og dernæst "id"? Så slipper jeg for de der klokkeslæt.

>medions/Rune: Du får lige nogle point for din ulejlighed. Jeg prøver lige dine 2 links vedr. paging og vender tilbage med flere point, hvis det er det funker - OK?
Avatar billede medions Nybegynder
07. november 2002 - 00:52 #9
Helt ok...
Thx 4 Poinz

//>Rune
Avatar billede peterkopi Nybegynder
07. november 2002 - 00:52 #10
>nogetfx: Jeg sad og skrev mit svar mens du lagde dit! Hvor i mit script skal jeg placere dit forslag for at kunne se, om det virker?

Jeg opretter lige et nyt paging spørgsmål og vender tilbage med et link til det nye spørgsmål, så både du og medions (og evt. andre interesserede) stadig kan hente point på paging-delen.

Beklager ulejligheden - også overfor medions!
Avatar billede nogetfx Nybegynder
07. november 2002 - 11:31 #11
Det er bare istedet for at der her:
Response.Write "<p>Gå til side "
For intNum = 1 To intPageCount
    Response.Write "<a href=paging.asp?page=" & intNum & ">" & intNum & "</a> "
Next

Response.Write "<p>"
If Clng(intPage) > 1 Then
    Response.Write "<a href=paging.asp?page=" & intPage - 1 & ">&lt;&lt;</a>"
Else
    Response.Write "&lt;&lt;"
End If

Response.Write "&nbsp;"

If Clng(intPage) < Clng(intPageCount) Then
    Response.Write "<a href=paging.asp?page=" & intPage + 1 & ">&gt;&gt;</a> "
Else
    Response.Write "&gt;&gt;"
End If


Personlig synes jeg ikke at der er grund til at udskrive alle de tal... Samt en pil der ikke er aktiv, så du skal bruge nr.2 jeg postede...
Avatar billede peterkopi Nybegynder
07. november 2002 - 11:57 #12
Tak - men hvor i scriptet skal jeg sætte det ind?

Du kan lige se hele scriptet her:

<%
    Response.Expires = 0
    response.buffer = true
    side = Request.QueryString("side")
   
    Function Dato(date)
    Dato = day(date) & "/" & month(date) & "-" & year(date)
    End Function
   
    Function LinkTekst(Tekst)
    LinkTekst = ""
    A_Start = 1

    if InStr(Tekst, "www") then
    do until A_Start >= len(Tekst)
    LinkChr = InStr(A_Start, Tekst, "www")
    'NextSpace = InStr(LinkChr, Tekst, "" & "<br>")
    'NextSpace = InStr(LinkChr, Tekst,"<br>")
    NextSpace = InStr("" & LinkChr, vbCrLf,"<br>")

'medions nyeste, 7.11. 02:24:24 kommer her:

if NextSpace = 0 then NextSpace = Len(Tekst) + 1

    LinkTekst = LinkTekst & Mid(Tekst, A_Start, LinkChr - A_Start)
    LinkTekst = LinkTekst & "<A Href='http://" & URL & "' target=""_blank"">" & URL & "</A>"

'     if NextSpace = 0 then NextSpace = Len(Tekst) + 1

        URL = Mid(Tekst, LinkChr, NextSpace - LinkChr)

'     LinkTekst = LinkTekst & Mid(Tekst, A_Start, LinkChr - A_Start)
'      LinkTekst = LinkTekst & "<A Href=http://" & URL & ">" & URL & "</A>"

'medions        LinkTekst = LinkTekst & Mid(Tekst, A_Start, LinkChr - A_Start)
'medions    LinkTekst = LinkTekst & "<A Href='http://" & URL & "' target=""_blank"">" & URL & "</A>"




      if Int(LinkChr) = Int(InStrRev(Tekst, "www")) then
      LinkTekst = LinkTekst & Mid(Tekst, NextSpace, Len(Tekst) - A_Start)
    A_Start = Len(Tekst)
    else
    A_Start = NextSpace
    end if
    loop
    else
    LinkTekst = Tekst
    end if
    End Function

    set Conn = Server.CreateObject("ADODB.Connection")
    Conn.Open "Data Source=d:\home\peterogdeandredk\db\tagwall.mdb;Provider=Microsoft.Jet.OLEDB.4.0;"
%>
<html>
<head>
<title>Tagwall v0.3</title>
<META NAME="Generator" CONTENT="Stone's WebWriter 3.5">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JavaScript">
<!-- Gem koden for gamle browsere

function PopWin(url,h,w) {
popupWin = window.open(url, 'popup', 'scrollbars,height=' + h + ',width=' + w + ',top=50,left=25')
}
// -->
</script>
</head>

<body bgcolor="#FFFFFF" text="#000000" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" link="#FFFFFF" vlink="#FFFFFF" alink="#FFFFFF">
<br>
<div align="center"> <font face="Tahoma" size="3"><b><i>Tagwall<br>
  </i></b></font>
  <%
if side = "" then
        set instillinger = conn.execute("SELECT * FROM instillinger")
    set rs = conn.execute("SELECT * FROM tags ORDER BY dato DESC")
    if rs.eof or rs.bof then

    response.write("<p><font face='Tahoma' size='2'>Der er ingen beskeder i tagwall'en :´-(</font></p><p><a href='?side=skriv_tag'><font face='Tahoma' size='1' color='#000000'>Opret tag</font></a></p>")
    else
    response.write ("<p><a href='?side=skriv_tag'><font face='Tahoma' size='1' color='#000000'>Opret tag</font></a></p>")
    do until rs.eof
%>
  <table width="500" border="1" cellspacing="0" cellpadding="0" bordercolor="#000000" height="18" bgcolor="#333333">
    <tr>
      <td height="1%">
        <table width="100%" border="0" cellspacing="0" cellpadding="0" height="15">
          <tr>
            <td width="5" height="8"> <font face="Tahoma" size="1"></font></td>
            <td width="369" height="8"><font face="Tahoma" size="1" color="#FFFFFF"><b><%=rs("emne")%></b></font></td>
            <td width="122" height="8"><b><font size="1" face="Tahoma" color="#FFFFFF">Skrevet
              d. <%=Dato(rs("dato"))%></font></b></td>
          </tr>
        </table>
      </td>
    </tr>
    <tr>
      <td bgcolor="#<% if rs("bokscolor") <> "" then response.write rs("bokscolor") else response.write ("666666") end if %>">
        <table width="100%" border="0" cellspacing="0" cellpadding="0" height="58">
          <tr>
            <td height="5" colspan="2"></td>
          </tr>
          <tr>
            <td width="5">&nbsp;</td>
            <td width="481"><font face="Tahoma" size="1" color="#<% if rs("tekstcolor") <> "" then response.write rs("tekstcolor") else response.write ("FFFFFF") end if %>">
<%
besked = rs("besked")
besked = replace("" & besked, vbcrlf, "<br>")
besked = replace(besked, "Www", "www")
besked = replace(besked, "wWw", "www")
besked = replace(besked, "wwW", "www")
besked = replace(besked, "WWW", "www")
if instillinger("html") = True then
besked = replace(besked, "&lt;b&gt;", "<b>")
besked = replace(besked, "&lt;/b&gt;", "</b>")
besked = replace(besked, "&lt;i&gt;", "<i>")
besked = replace(besked, "&lt;/i&gt;", "</i>")
besked = replace(besked, "&lt;u&gt;", "<u>")
besked = replace(besked, "&lt;/u&gt;", "</u>")
besked = replace(besked, "&lt;p&gt;", "<p>")
besked = replace(besked, "&lt;/p&gt;", "</p>")
besked = replace(besked, "&lt;center&gt;", "<center>")
besked = replace(besked, "&lt;/center&gt;", "</center>")
besked = replace(besked, "&lt;br&gt;", "<br>")
end if
if instillinger("smileys") = True then
besked = replace(besked, "[!]", "images/!.gif")
besked = replace(besked, ":-o", "<img src='images/argh.gif'>")
besked = replace(besked, "8-)", "<img src='images/badass.gif'>")
besked = replace(besked, ";-)", "<img src='images/blink.gif'>")
besked = replace(besked, "[brev]", "<img src='images/brev.gif'>")
besked = replace(besked, "[danger]", "<img src='images/danger.gif'>")
besked = replace(besked, "3-(", "<img src='images/devil.gif'>")
besked = replace(besked, "[disk]", "<img src='images/disk.gif'>")
besked = replace(besked, "[tv]", "<img src='images/fjernsyn.gif'>")
besked = replace(besked, ":-z", "<img src='images/flov.gif'>")
besked = replace(besked, "3-)", "<img src='images/happysun.gif'>")
besked = replace(besked, "?:-o", "<img src='images/huh.gif'>")
besked = replace(besked, ":-0", "<img src='images/ingenraab.gif'>")
besked = replace(besked, ":-|", "<img src='images/ligeglad.gif'>")
besked = replace(besked, "[linux]", "<img src='images/linux.gif'>")
besked = replace(besked, "?:-|", "<img src='images/mistaenksom.gif'>")
besked = replace(besked, "[cd]", "<img src='images/musik.gif'>")
besked = replace(besked, "[ned]", "<img src='images/ned.gif'>")
besked = replace(besked, "[next]", "<img src='images/next.gif'>")
besked = replace(besked, "[op]", "<img src='images/op.gif'>")
besked = replace(besked, "[pc]", "<img src='images/pc.gif'>")
besked = replace(besked, "*gf*", "<img src='images/self.gif'>")
besked = replace(besked, "*sf*", "<img src='images/sf.gif'>")
besked = replace(besked, ":-)", "<img src='images/smil.gif'>")
besked = replace(besked, "[spm]", "<img src='images/spm.gif'>")
besked = replace(besked, "[stop]", "<img src='images/stop.gif'>")
besked = replace(besked, ":-(", "<img src='images/sur.gif'>")
besked = replace(besked, "[tom]", "<img src='images/tom.gif'>")
besked = replace(besked, ";´-(", "<img src='images/trist.gif'>")
besked = replace(besked, ":-p", "<img src='images/tunge.gif'>")
end if
response.write LinkTekst(besked)
%>
              </font></td>
          </tr>
          <tr>
            <td height="5" colspan="2"></td>
          </tr>
          <tr>
            <td height="2" colspan="2">
              <table width="100%" border="0" cellspacing="0" cellpadding="0" height="20">
                <tr>
                  <td width="5"><font face="Tahoma" size="1"><b></b></font></td>
                  <td width="65" align="left" valign="middle"><font face='Tahoma' size='1' color='#<% if rs("tekstcolor") <> "" then response.write rs("tekstcolor") else response.write ("FFFFFF") end if %>'><b>Skrevet
                    af:</b></font></td>
                  <td width="421" align="left" valign="middle"><% if rs("email") = "" then %><font face='Tahoma' size='1' color='#<% if rs("tekstcolor") <> "" then response.write rs("tekstcolor") else response.write ("FFFFFF") end if %>'><%=rs("forfatter")%></font><% else %><a href='mailto:<%=rs("email")%>'><font face='Tahoma' size='1' color='#<% if rs("tekstcolor") <> "" then response.write rs("tekstcolor") else response.write ("FFFFFF") end if %>'><%=rs("forfatter")%></font></a><% end if %></td>
                </tr>
              </table>
            </td>
          </tr>
        </table>
      </td>
    </tr>
  </table>
  <p>
<%
rs.movenext
loop
end if
%>
<%
end if
%>
<%
if side = "skriv_tag" then
set instillinger = conn.execute("SELECT * FROM instillinger")
%>
<p>
  <table width="500" border="0" cellspacing="0" cellpadding="0">
    <form action="tagwall.asp?side=opret_tag" method="post">
      <tr>
        <td width="6" bgcolor="#333333"> </td>
        <td width="111" bgcolor="#333333"><b><font face="Tahoma" size="1" color="#FFFFFF">Emne:</font></b></td>
        <td width="10" bgcolor="#666666" height="30">&nbsp; </td>
        <td bgcolor="#666666" height="35" colspan="2">
          <input type="text" name="emne" size="40" maxlength="40">
        </td>
      </tr>
      <tr>
        <td width="6" bgcolor="#333333"><b></b></td>
        <td width="111" bgcolor="#333333">
          <p><font face="Tahoma" size="1"><b><font color="#FFFFFF">Besked:<br>
            </font></b><font color="#FFFFFF">Du kan bruge smileys<br>
            i din besked, tjek hvilke ved at <a href="java script:PopWin('smileys.htm',400,400);">klikke
            her!<br>
            </a></font></font><font face="Tahoma" size="1" color="#FFFFFF">Status</font><font face="Tahoma" size="1" color="#FFFFFF">:
            <% if instillinger("smileys") = True then response.write("<font color='#009900'>Aktiv</font>") else response.write("<font color='#FF0000'>Deaktiveret</font>") %>
            <br>
            <br>
            Du kan ogs&aring; bruge<br>
            HTML tag, <a href="java script:PopWin('htmltags.htm',400,400);">tjek
            hvilke!<br>
            </a>Status:
            <% if instillinger("html") = True then response.write("<font color='#009900'>Aktiv</font>") else response.write("<font color='#FF0000'>Deaktiveret</font>") %>
            </font></p>
          </td>
        <td width="10" bgcolor="#666666">&nbsp; </td>
        <td bgcolor="#666666" colspan="2">
          <textarea name="besked" rows="8" cols="45"></textarea>
        </td>
      </tr>
      <% if instillinger("tekstcolor") = True then %>
      <tr>
        <td width="6" bgcolor="#333333"><b></b></td>
        <td width="111" bgcolor="#333333"><b><font face="Tahoma" size="1" color="#FFFFFF">Tekst
          farve:</font></b></td>
        <td width="10" bgcolor="#666666">&nbsp; </td>
        <td width="97" bgcolor="#666666" height="30">
          <input type="text" name="tekstcolor" size="10" maxlength="6">
        </td>
        <td width="286" bgcolor="#666666" height="30"><font face="Tahoma" size="1" color="#FFFFFF"><a href="java script:PopWin('farvekoder.htm',400,400);">Farvekoder</a></font></td>
      </tr>
      <% end if %>
      <% if instillinger("bokscolor") = True then %>
      <tr>
        <td width="6" bgcolor="#333333"><b></b></td>
        <td width="111" bgcolor="#333333"><b><font face="Tahoma" size="1" color="#FFFFFF">Baggrund:</font></b></td>
        <td width="10" bgcolor="#666666">&nbsp; </td>
        <td width="97" bgcolor="#666666" height="30">
          <input type="text" name="bokscolor" size="10" maxlength="6">
        </td>
        <td width="286" bgcolor="#666666" height="30"><font face="Tahoma" size="1" color="#FFFFFF"><a href="java script:PopWin('farvekoder.htm',400,400);">Farvekoder</a></font></td>
      </tr>
      <% end if %>
      <tr>
        <td width="6" bgcolor="#333333"><b></b></td>
        <td width="111" bgcolor="#333333"><b><font face="Tahoma" size="1" color="#FFFFFF">Forfatter:</font></b></td>
        <td width="10" bgcolor="#666666">&nbsp; </td>
        <td bgcolor="#666666" height="30" colspan="2">
          <input type="text" name="forfatter" size="25" maxlength="25">
        </td>
      </tr>
      <tr>
        <td width="6" bgcolor="#333333"><b></b></td>
        <td width="111" bgcolor="#333333"><b><font face="Tahoma" size="1" color="#FFFFFF">E-mail:</font></b></td>
        <td width="10" bgcolor="#666666">&nbsp; </td>
        <td bgcolor="#666666" height="30" colspan="2">
          <input type="text" name="email" size="25" maxlength="25">
        </td>
      </tr>
      <tr>
        <td width="6" bgcolor="#333333"><b><font color="#FFFFFF" face="Tahoma" size="1"></font></b></td>
        <td width="111" bgcolor="#333333">&nbsp;</td>
        <td width="10" bgcolor="#666666">&nbsp; </td>
        <td bgcolor="#666666" height="30" colspan="2">
          <input type="submit" name="Submit" value="Opret Tag!">
        </td>
      </tr>
    </form>
  </table>
<p>
<a href="?"><font face="Tahoma" size="1" color="#000000">Tilbage</font></a>
</p>
  <%
end if
%>
  <%
if side = "opret_tag" then
if (Server.HTMLEncode(Request("emne")) = "" OR Server.HTMLEncode(Request("besked")) = "" OR Server.HTMLEncode(Request("forfatter")) = "") then
response.write ("<p><font face='Tahoma' size='2'>Hvad med at skrive noget?</font><br><font face='Tahoma' size='1' color='#FF0000'>Emne, Besked og Forfatter <u>SKAL</u> udfyldes!<p><a href='java script:history.back(-1)'><font face='Tahoma' size='1' color='#000000'>Skriv tag</font></a></p>")
else
    Set rs = Server.CreateObject("ADODB.RecordSet")
    strSQL = "SELECT * FROM tags"
    rs.Open strSQL, Conn, 1, 3
                                       
        rs.AddNew
        rs("emne") = Server.HTMLEncode(Request("emne"))
        rs("besked") = Server.HTMLEncode(Request("besked"))
        rs("tekstcolor") = Server.HTMLEncode(Request("tekstcolor"))
        rs("bokscolor") = Server.HTMLEncode(Request("bokscolor"))
        rs("forfatter") = Server.HTMLEncode(Request("forfatter"))
        rs("email") = Server.HTMLEncode(Request("email"))
        rs("dato") = date()
        rs.Update

            response.write("<p><font face='Tahoma' size='2'>Tak for dit tag ;-p</font></p><a href='?'><font face='Tahoma' size='1' color='#000000'>Se tags</font></a>")
end if
end if
%>
</div>
</body>
</html>

Og med dit forslag (nr. 2), kan jeg så stadig bare skrive, at jeg kun vil se de 10 indlæg pr. side sådan her:

    SET RS = CONN.EXECUTE("SELECT top 10 * FROM tags ORDER BY id DESC")
Avatar billede nogetfx Nybegynder
07. november 2002 - 21:57 #13
Det er lige lidt uoverskueligt, men du skal skal sætte alt det ind som du looper ind i det andet loop og så droppe din Top 10, du kan bare sætte din pagesize = 10
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