25. februar 2001 - 13:31Der er
21 kommentarer og 1 løsning
Kun 1 hits
Hejsa
med dette finder jeg en masse links i min database: strSQL = \"SELECT * From sog WHERE (sogeord LIKE \'%\" & request(\"sog\") & \"%\')\" Set rs = myConn.Execute(strSQL)
Men mit problem er så at nogen af linken, står der flere gange, er det ikke muligt at lave et eller andet således at den kun viser et links???
altså hvis kolonnen link, indholder et link som er ens i 2 rækker, så viser den kun 1?
<%if mode = \"sog\" then sogeord = Request(\"sogeord\") strsql= \"SELECT DISTINCT( link ),id FROM sog WHERE (sogeord LIKE \'%\" & request(\"sog\") & \"%\')\" \'strSQL = \"SELECT DISTINCT * From sog WHERE (sogeord LIKE \'%\" & request(\"sog\") & \"%\')\" Set rs = myConn.Execute(strSQL)
if rs.eof then %><div align=\"center\">Vi fandt desværre ingen links til dig. Beklager</div<% end if do while not rs.eof strsql= \"SELECT * FROM sog WHERE id = \" & rs(\"id\") Set ds = myConn.Execute(strSQL) %> <a href=\"sog.asp?mode=videre&id=<%= ds(\"id\") %>\"><%= ds(\"overskrift\") %></a> - <%= ds(\"beskrivelse\") %><br> <% rs.movenext loop end if%>
dette har jeg sat ind... For jeg er jo nød til at havde id, med så jeg kan lave et output senere...
hmmm,hvad med at sørge for at der ikke komme dubletter ind når det bliver indsat? sådan ville jeg nok gøre alligevel, for at sikre at datamængden er mindst mulig...
OK, så må du stoppe dem ind i et array når du looper dem igennem, altså finde ud af undervejs om linket findes i arrayet i forvejen, hvis ikke, skriv det, og stop det i arrayet...
<%@ Language=VBScript %> <HTML> <HEAD> <META NAME=\"GENERATOR\" Content=\"Microsoft Visual Studio 6.0\"> </HEAD> <BODY> <% Dim linkArr linkArr = array()
function linkInArr( link ) linkInArr = false
for i = 0 to ubound(linkArr) if linkArr(i) = link then linkInArr = true end if next
if not linkInArr then redim preserve linkArr(i+1) linkArr(i+1)=link end if end function
mode = Request.Querystring(\"mode\") if mode = \"sog\" then sogeord = Request.QueryString(\"sogeord\") strsql = \"SELECT * FROM sog WHERE (sogeord LIKE \'%\" & request(\"sog\") & \"%\')\" Set rs = DBConn.Execute(strSQL) if rs.eof then %> <div align=\"center\">Vi fandt desværre ingen links til dig. Beklager</div <% end if do while not rs.eof if not linkInArr( rs(\"link\") ) then %> <a href=\"sog.asp?mode=videre&id=<%=rs(\"id\")%>\"><%=rs(\"overskrift\")%></a> - <%=rs(\"beskrivelse\")%> <% end if rs.movenext loop end if
du skal lige abstrahere fra at det kommer direkte fra mit dev miljø, så navnet på connection osv skal lige rettes til...og ups, DBConn.Close og det der i bunden, væk med det...
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.