Avatar billede dalbjerg Nybegynder
25. februar 2001 - 13:31 Der 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?
Avatar billede hy Nybegynder
25. februar 2001 - 13:39 #1
Du kan bruge SELECT DISTINCT

strSQL = \"SELECT DISTINCT * From sog WHERE (sogeord LIKE \'%\" & request(\"sog\") & \"%\')\"
Set rs = myConn.Execute(strSQL)

hyde
Avatar billede dalbjerg Nybegynder
25. februar 2001 - 13:45 #2
hjælper ikke...

hvad gør DISTINCT???

http://www.dktop.dk/nyt/sog.asp prøv at søge efter mobil

Avatar billede brain Nybegynder
25. februar 2001 - 13:50 #3
Distinct eliminerer netep dublerede størrelser.

Prøv at give distinct en kolonnne...

SELECT DISTINCT( link ), whatever FROM ssog WHERE (sogeord LIKE \'%\" & request(\"sog\") & \"%\')\"
Avatar billede brain Nybegynder
25. februar 2001 - 13:51 #4
det virker vist ikke. prøv at nøjes med ....

SELECT DISTINCT( link ) FROM sog WHERE (sogeord LIKE \'%\" & request(\"sog\") & \"%\')\"
Avatar billede brain Nybegynder
25. februar 2001 - 13:57 #5
det skal jo naturligvis være

strSQL = \"SELECT DISTINCT( link ) FROM sog WHERE (sogeord LIKE \'%\" & request(\"sog\") & \"%\')\"

...er lige stået op :)
Avatar billede dalbjerg Nybegynder
25. februar 2001 - 14:00 #6
uihmm det se ikke lige ud til at virke....

<%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...
Avatar billede brain Nybegynder
25. februar 2001 - 14:26 #7
Det er fordi du også selecter id. Hvis 2 links hedder det samme, hvilket id skal Access så vælge?
Den reagerer ved at selecte begge to...
Avatar billede dalbjerg Nybegynder
25. februar 2001 - 14:28 #8
jamen, jeg er jo nød til at havde id, med for at kunne finde de andre
Avatar billede brain Nybegynder
25. februar 2001 - 14:33 #9
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...
Avatar billede dalbjerg Nybegynder
25. februar 2001 - 14:40 #10
Nops, fordi det skal være sådan at hver links, må ligge i flere katogorier, uden maks...
Avatar billede brain Nybegynder
25. februar 2001 - 14:43 #11
jamen skal den så ikke vise alle links der bliver fundet? hvad er så problemet med at vise dubletterne?
Avatar billede dalbjerg Nybegynder
25. februar 2001 - 14:47 #12
det se jo dumt, ud at hvis man søger efter mobil, så viser, den 5 links til sendit.dk, fordi den hører til i alt under mobil ikk...
Avatar billede brain Nybegynder
25. februar 2001 - 15:02 #13
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...
Avatar billede dalbjerg Nybegynder
25. februar 2001 - 15:03 #14
lidt hjælp tak
Avatar billede brain Nybegynder
25. februar 2001 - 15:27 #15
ok, jeg laver lige koden....10 minutter...ok?
Avatar billede dalbjerg Nybegynder
25. februar 2001 - 15:28 #16
k½
Avatar billede brain Nybegynder
25. februar 2001 - 16:05 #17
<%@ 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
   
    DBConn.Close
    set DBConn = nothing
%>

</BODY>
</HTML>
Avatar billede brain Nybegynder
25. februar 2001 - 16:06 #18
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...
Avatar billede brain Nybegynder
25. februar 2001 - 17:38 #19
virker det?
Avatar billede dalbjerg Nybegynder
25. februar 2001 - 19:34 #20
jeg har ikke lige testede det, tester det i morgen.
Avatar billede dalbjerg Nybegynder
02. marts 2001 - 13:56 #21
Avatar billede dalbjerg Nybegynder
06. april 2001 - 20:41 #22
Ingen svar, hugger selv mine points igen
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