Nu blir det problem. Det verkar som om raden rs.movenext aldrig körs. Det är nämligen bara den första posten i databasen som skrivs ut oändligt många gånger.
På en annan sida som använder samma db-koppling används också while not rs.eof och rs.movenext och där funkar det...
Dim Conn, rs
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DSN=b2081-db;Password=@01#$ikneedfmldbkjcclk"
SQL = "SELECT * FROM nyheter ORDER BY id DESC"
set rs = Conn.execute(SQL)
WHILE NOT rs.EOF
...
...
function get_user(id)
Set recset = server.createobject("ADODB.Recordset")
SQL = "SELECT namn FROM users WHERE id = " & id
recset.open SQL, conn
get_user = recset("namn")
recset.CLOSE
end function
Förresten, du kan ju lätt undgå att använda funktionen get_user() om det är där problemet uppstår. En liten join bara i SQL-frågan du använder på sidan, så är problemet ur världen.
SQL = "SELECT nyheter.*, users.namn FROM nyheter, users where nyheter.user=users.id ORDER BY id DESC"
@nders: Jag förstår inte riktigt din SQL-sats men den ger förljande fel. :)
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][Drivrutin för ODBC Microsoft Access] Det angivna fältet 'id' kan referera till fler än en av de tabeller som är uppräknade i SQL-uttryckets FROM-instruktion.
Om nyheter.user är av typen text så borde du ändra typ till tal. Om du vill göra en join mellan två tabeller så måste de kolumner som du jämför vara av samma typ.