Jeg har en db-forbindelse jeg gerne vil have til at tage nogle random poster ud fra min db og benytte dem på forsiden... Jeg har forsøgt med denne SQL-streng: "order by Rnd(id)" - Godt nok tager den nogle random poster, men den tager altid de samme... Nogle der kan hjælpe?
Så skal du holde styr på hvad der er vist og udvide din SQL sætning så den ikke medtager noget den har vist. Skal det gælde for hver bruger kan du gemme det i session variable hvad den har vist, er det generelt så en post kun må vises en gang kan du lave en kolonne i databasen som du sætte når posten har været vist.
Hvis du har et autonummer kolonne kan du gemme "area i sesssion såsådan her
' SQL forespørgsel randomize R=clng(1000000*rnd) strSQL = "Select top 4 * from apartments Where dato <> Null And Type = 'bolig' " if Session("vist")<>"" then strSQL = strSQL & " and area not in (" &Session("vist") &") " strSQL = strSQL & "ORDER BY rnd(-(ID)*" & R & ")" ' Udfør forespørgsel (rs indeholder nu resultatet) Set rs = Conn.Execute(strSQL) if not rs.EOF then if session("vist") <> "" then session("vist")=session("vist")&"," session("vist") = session("vist") & rs("area") end if
er det en tekst kolonne skal der´ping ' omkring så denne: session("vist") = session("vist") & rs("area")
Det er et tekst-felt, men jeg kan ikke få det til at virke...
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'dato <> Null And Type = 'bolig' and area not in (Nørrebjerg Runddel 'Nørrebjerg Runddel ')'.
SQL forespørgsel randomize R=clng(1000000*rnd) strSQL = "Select top 4 * from apartments Where dato <> Null And Type = 'bolig' " if Session("vist")<>"" then strSQL = strSQL & " and area not in (" &Session("vist") &") " strSQL = strSQL & "ORDER BY rnd(-(ID)*" & R & ")" ' Udfør forespørgsel (rs indeholder nu resultatet) Set rs = Conn.Execute(strSQL) if not rs.EOF then if session("vist") <> "" then session("vist")=session("vist")&"," session("vist") = session("vist") & "'" & rs("area") & "'" end if
Det er løsningen, det virker fint :) Har du prøvet det jeg forslog at udskrive strSQL?
Hvileken fejl får du?
Synes godt om
Ny brugerNybegynder
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.