Avatar billede jps6kb Novice
03. juli 2005 - 14:09 Der er 14 kommentarer og
1 løsning

Lav script om

Hej,
Jeg har den her asp-fil..

<!--#include file="top.inc"-->
<%
Set data = Server.CreateObject ("ADODB.Recordset")
set data = Myconn.execute("Select TOP 10 * from [Blog] order by id DESC")
%>
    <br/>
    Seneste indlæg
    <br/>
    <center>
    <br/>

    <table width="90%" cellspacing="0" cellpadding="0" class="tbl_bloglist">
    <tr>
      <td class="td_bloglist">
        &nbsp;
      </td>
      <td class="td_bloglist">
        <u>skrevet af</u>
      </td>
      <td class="td_bloglist">
        <u>dato, tid</u>
      </td>
      <td class="td_bloglist">
        <u>læst</u>
      </td>
    </tr>

<%
while NOT data.EOF
%>

    <tr>
      <td class="td_bloglist">
        <a href="ablog.asp?user=<% = data("navn") %>">
<%
Set history = Server.CreateObject ("ADODB.Recordset")
set history = Myconn.execute("SELECT * From [BlogHistory] WHERE [navn] ='"& Session("thisUser") &"' AND forfatter ='"& data("navn") &"'")
%>

<%
if history("forfatter") = session("thisUser") Then
    Response.Write "<img src=""me.gif"" border=""0""/>"

elseif history("blogid") < data("id") Then
    Response.Write "<img src=""new.gif"" border=""0""/>"

else
    Response.Write "<img src=""old.gif"" border=""0""/>"
End if
%>

</a>
      </td>
      <td class="td_bloglist">
        <% = data("navn") %>
      </td>
      <td class="td_bloglist">
        <% = data("dato") %>, <% = data("tid") %>
      </td>
      <td class="td_bloglist">
<%
Set brugerdata = Server.CreateObject ("ADODB.Recordset")
set brugerdata = Myconn.execute("Select antal from [Bruger] WHERE navn = '"& data("navn") &"'")
%>

        <% = brugerdata("antal") %>
      </td>
    </tr>

<%
data.MoveNext
Wend
%>

    </table>
    <br/><br/>
    </center>

<!--#include file="bottom.inc"-->


<!--#include file="db_out.inc"-->

Den viser de 10 sidste indlæg fra alle brugere.. jeg vil gerne have lavet den om, så den kun viser det seneste indlæg fra hver bruger. Så en bruger kun står én gang.

Nogen der kan hjælpe? Jeg har prøvet, men bliver ved med at få fejl på det.
Avatar billede jps6kb Novice
03. juli 2005 - 14:10 #1
Brugerne ligger i en tabel der hedder [Bruger]
Avatar billede erikjacobsen Ekspert
03. juli 2005 - 14:26 #2
Da det sikkert er noget, der skal spørges om tit, vil jeg foreslå at du laver en ny tabel, der fx kunne hedde "sidste".

Den har brugernavn som primær nøgle, og et ekstra felt med tidspunkt, og opdateres ved
hvert nyt indlæg.

Så er det billigt og nemt at få de 10 sidst aktive brugere. ;)
Avatar billede jps6kb Novice
03. juli 2005 - 14:30 #3
Okay?

Jeg ville nu meget hellere, hvis man kunne gøre noget i stil med:

- Hent alle brugernavne

- Løb dem igennem, og hent største 'id' for hver bruger i [Blog]


Det skal være for alle brugere.. der er maks. 5 brugere i hver gruppe, så det er ikke noget der trækker helt vildt jo.. :)
Avatar billede jps6kb Novice
03. juli 2005 - 14:35 #4
Tror mit problem er, at jeg ikke helt har styr på at håndtere hvis en bruger ikke har lavet et indlæg.. det problem vil også komme med dit forslag.. for hvis jeg prøver at opdatere et felt, som ikke eksisterer.. altså, hvis bruger4 laver et indlæg men ikke har lavet nogle før, så vil der komme en fejl..
Avatar billede jps6kb Novice
03. juli 2005 - 14:41 #5
Ellers.. kunne jeg vel oprette en tabel som du siger, og udfylde med dummyting.. altså id=0 i allesammen.. og så lave en if-sætning i scriptet.. hvis id=0 så ignorer.. ?
Avatar billede ttopholm Nybegynder
03. juli 2005 - 15:05 #6
er det ikke bare lave en group by og en order by i din select sætning...

Select * from [Blog] order by id DESC GROUP by [Bruger]

Tror nu ikke lige den her virker, men du har ideén
Avatar billede jps6kb Novice
03. juli 2005 - 15:10 #7
Øhh.. jeg er ikke helt med her.. styrer ikke mega meget til SQL..

Har prøvet at lave en tabel der hedder [Latest] som indeholder blogid (fra [Blog]) og navn (fra [Bruger]) og så lavet en:

if id > 0 Then

..
..

end if

..

Men den giver mig en fejl på det..

Microsoft OLE DB Provider for ODBC Drivers error '80040e10'

[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.
Avatar billede jps6kb Novice
03. juli 2005 - 15:41 #8
Oh well.. det blev om ikke andet din læsning som vandt.. så smid et svar ;)
Avatar billede ttopholm Nybegynder
03. juli 2005 - 15:48 #9
Hvad mener du
Avatar billede jps6kb Novice
03. juli 2005 - 15:52 #10
*løsning.. hehe.. ericj's løsning..
;)
Avatar billede ttopholm Nybegynder
03. juli 2005 - 15:55 #11
hvilken sql-sætning bruger du til når du får denne fejl

Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1
Avatar billede jps6kb Novice
03. juli 2005 - 15:57 #12
Det var min fejl.. havde lavet en stave-bøf.. ;)
Avatar billede jps6kb Novice
11. juli 2005 - 19:43 #13
Erik - smider du ikke lige et svar ;)
Avatar billede erikjacobsen Ekspert
11. juli 2005 - 21:03 #14
Jeg samler slet ikke på point, tak.
Avatar billede jps6kb Novice
11. juli 2005 - 21:24 #15
Tænkte jeg nok, men du skulle da ha' budet om ikke andet ;)
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