Avatar billede pezzo Nybegynder
21. maj 2004 - 15:57 Der er 103 kommentarer og
2 løsninger

Søgning ligesom på exp.dk

Hej.

Jeg har lavet et forum og vil gerne have funktionen til at kunne lave søgning udfra hvem der har oprettet, kommenteret og besvaret spørgsmålet. Faktisk ligesom her på exp.dk

Men aner ikke hvordan pokker jeg gør det.

Databasen ser således ud:
ejer        "Angiver brugernavnet"
spmtype        "Angiver om: spm - kommentar - svar"
titel        "Titlten"
tekst        "TEksten af spm/kommentar/svar"


Nuværende kode som så ikke helt virker:
strSQL = "SELECT * from spm_data where (titel like '%" & request("input") & "%' or tekst like '%" & request("input") & "%')"

    if request.form("pers1") <> "" then
    strSQL = strSQL & " AND ( spmtype = 'spm' and ejer = '" & request.form("pers1") & "' and titel like '%" & request("input") & "%' or tekst like '%" &

request("input") & "%')"
    end if

    if request.form("pers2") <> "" then
    strSQL = strSQL & " AND ( spmtype = 'kommentar' and ejer = '" & request.form("pers2") & "' and titel like '%" & request("input") & "%' or tekst like

'%" & request("input") & "%')"
    end if

    if request.form("pers3") <> "" then
    strSQL = strSQL & " AND ( spmtype = 'svar' and ejer = '" & request.form("pers3") & "' and titel like '%" & request("input") & "%' or tekst like '%" &

request("input") & "%')"
    end if


Udtrækker blot hvilken ID'er det drejer sig om nemlig.
Avatar billede ellebaek Nybegynder
21. maj 2004 - 15:59 #1
hvad mener du med hvilke id'er det drejer sig om..?
Avatar billede pezzo Nybegynder
21. maj 2004 - 16:02 #2
Egentligt ikke relevant, men det fordi jeg henter alle selve spm eller rel.

Men tænk ike over det, ønsker blot at få det rigtige udtræk :)
Avatar billede ellebaek Nybegynder
21. maj 2004 - 16:04 #3
hvad får du for udtræk nu..?
Avatar billede pezzo Nybegynder
21. maj 2004 - 16:05 #4
Øh ja lidt svært forklare, men ihvertfaldt noget forkert.... :D

Der må jo være noget galt i min SQL string, men hvad kan jeg ikke lige "regne" ud...
Avatar billede ellebaek Nybegynder
21. maj 2004 - 16:11 #5
strSQL = "SELECT * from spm_data where (titel like '%" & request("input") & "%' or tekst like '%" & request("input") & "%')"

    if request.form("pers1") <> "" then
    strSQL = strSQL & " AND ( spmtype = 'spm' and ejer = '" & request.form("pers1") & "')"
    end if

    if request.form("pers2") <> "" then
    strSQL = strSQL & " AND ( spmtype = 'kommentar' and ejer = '" & request.form("pers2") & "')"
    end if

    if request.form("pers3") <> "" then
    strSQL = strSQL & " AND ( spmtype = 'svar' and ejer = '" & request.form("pers3") & "')"
    end if


prøv lige det her i stedet..
Avatar billede and_ Nybegynder
21. maj 2004 - 16:14 #6
Kan ikke lige se hvorfor du sammenligner på teksten hele tiden.... En gang skulle vel være nok...

strSQL = strSQL & " AND ( spmtype = 'svar' and ejer = '" & request.form("pers3") & "')"

skal selvfølgelig rettes hele vejen igennem... undtagen den første...
Avatar billede ellebaek Nybegynder
21. maj 2004 - 16:15 #7
and_ -> c",)
Avatar billede pezzo Nybegynder
21. maj 2004 - 16:15 #8
Virker ikke :(
Avatar billede pezzo Nybegynder
21. maj 2004 - 16:16 #9
and_ -> c",)      ???
Avatar billede and_ Nybegynder
21. maj 2004 - 16:17 #10
ellebaek > samme tanke hva' ;)

pezzo>
Hvordan udskriver du dine data.... vi må have noget at gå efter... smid noget script eller et eller andet ;)
Avatar billede ellebaek Nybegynder
21. maj 2004 - 16:17 #11
det var bare fordi det han skrev var det jeg lige havde rettet..

Har du ikke siden liggende et sted, så jeg kan se hvad den viser.. Det er svært at vide hvad problemet er når man ikke ved hvad den viser.
Avatar billede pezzo Nybegynder
21. maj 2004 - 16:18 #12
Uh jow, men kan desværre ikke vise den...

Hmm hvad skal i bruge af kode?
Avatar billede ellebaek Nybegynder
21. maj 2004 - 16:19 #13
der hvor du udskriver dataene..
Avatar billede and_ Nybegynder
21. maj 2004 - 16:19 #14
ellebaek, så'en er det jo når man tager koden med over i min scripteditor for lige at gøre det mere overskueligt ;)
Avatar billede pezzo Nybegynder
21. maj 2004 - 16:20 #15
2sek!
Avatar billede pezzo Nybegynder
21. maj 2004 - 16:22 #16
Her kan i se hele koden:
http://data.pezzo.net/spmlist_search.txt
Avatar billede ellebaek Nybegynder
21. maj 2004 - 16:24 #17
det var noget af en kode... Men nu du kan ligge den ud, kan vi så ikke se resultatet også..?

Ville være super..
Avatar billede and_ Nybegynder
21. maj 2004 - 16:26 #18
bare et screenshot evt....
Avatar billede pezzo Nybegynder
21. maj 2004 - 16:26 #19
Hvilket resultat vil i se?

Fordi kan simpelt hen desværre ikke give jer siden og vise da den er "tophemmelig" endnu...
Avatar billede pezzo Nybegynder
21. maj 2004 - 16:27 #20
OK, laver et screenshot... hmm hvor den viser noget eller hvad? altså mener skal være screenshot af søgesiden eller resultat siden hvor der er et spørgsmål man kan klikke på?
Avatar billede ellebaek Nybegynder
21. maj 2004 - 16:28 #21
altså lav en scree nshot der viser noget, og så beskriv hvad det er den viser forkert..
Avatar billede and_ Nybegynder
21. maj 2004 - 16:28 #22
der hvor du mener at siden fejler....
Avatar billede pezzo Nybegynder
21. maj 2004 - 16:29 #23
Jamen problemet er nemlig at hvis jeg eks. søger efter et spørgsmål med teksten "sjovt" viser den rigtigt nok..

Men siger jeg nu at spørgsmålet også ska lvære oprettet og kommenteret af eks. "Pezzo" viser den ikke spørgsmålet - selv om jeg ved at spørgsmålet opfylder det krav.
Avatar billede pezzo Nybegynder
21. maj 2004 - 16:31 #24
Fordi dette her hjælper jo ikke meget: http://Data.pezzo.net/sdfkk43k9dfDFKLsdfk3.jpg
Avatar billede and_ Nybegynder
21. maj 2004 - 16:31 #25
ja, men hvordan ser det ud... det sværeste er at finde rundt i andres kode... derfor bliver vi også nødt til at se hvad du mener før vi kan pinpointe os....
Avatar billede and_ Nybegynder
21. maj 2004 - 16:32 #26
men ellers meget flot design ;)
Avatar billede pezzo Nybegynder
21. maj 2004 - 16:33 #27
hehe ja meget flot design... men altså har fundet ud af nu det virker fint hvis man skriver noget i feltet "pers1" men så snart man bruger pers2 og pers3 laver den forkert udtræk....,
Avatar billede and_ Nybegynder
21. maj 2004 - 16:35 #28
smid lige denne her ind:

    if request.form("pers1") <> "" then
    strSQL = strSQL & " AND ( spmtype = 'spm' and ejer = '" & request.form("pers1") & "')"
    end if

    if request.form("pers2") <> "" then
    strSQL = strSQL & " AND ( spmtype = 'kommentar' and ejer = '" & request.form("pers2") & "')"
    end if

    if request.form("pers3") <> "" then
    strSQL = strSQL & " AND ( spmtype = 'svar' and ejer = '" & request.form("pers3") & "')"
    end if
response.write "<br>SQL'en er: " & strsql & "<br><br>"
Avatar billede and_ Nybegynder
21. maj 2004 - 16:35 #29
og smid strengen herind ;)
Avatar billede pezzo Nybegynder
21. maj 2004 - 16:36 #30
du vil gerne have udtrækket af SQL'en ?
Avatar billede and_ Nybegynder
21. maj 2004 - 16:37 #31
skal se hvordan den ser ud....
Avatar billede ellebaek Nybegynder
21. maj 2004 - 16:37 #32
ja, det vil vi gerne se...

men jeg vil også gerne se koden for din form..
For tror nok at det er det fejlen ligger..
Avatar billede pezzo Nybegynder
21. maj 2004 - 16:37 #33
pers1 = grith
pers2 = pezzo
SELECT * from spm_data where (titel like '%sjovt%' or tekst like '%sjovt%') AND ( spmtype = 'spm' and ejer = 'grith') AND ( spmtype = 'kommentar' and ejer = 'pezzo')
(VIrker ikke)

pers1=grith
SELECT * from spm_data where (titel like '%sjovt%' or tekst like '%sjovt%') AND ( spmtype = 'spm' and ejer = 'grith')
(Virker)

Og de burde begge komme med samme spørgsmål!
Avatar billede ellebaek Nybegynder
21. maj 2004 - 16:39 #34
Hvad hvis du kun skriver noget i pers2.=?
Avatar billede pezzo Nybegynder
21. maj 2004 - 16:40 #35
SELECT * from spm_data where (titel like '%sjovt%' or tekst like '%sjovt%') AND ( spmtype = 'kommentar' and ejer = 'pezzo')

Og virker heller ikke, selv om det faktisk burde....
Avatar billede ellebaek Nybegynder
21. maj 2004 - 16:40 #36
Tror godt jeg ved hvad fejlen er nu..

For som du kan se vil du hente * fra tabellen hvor smptype='spm' and spmtype='kommentar' og der er ingen der er begge dele..
Avatar billede pezzo Nybegynder
21. maj 2004 - 16:41 #37
Jamen hvad så?

Fordi altså skal jo bruge tjek af både spm, kommentar og svar... og så skal den finde alle dem som opfylder alle kravene...
Avatar billede ellebaek Nybegynder
21. maj 2004 - 16:41 #38
prøver lige en test på den første del af det:

if request.form("pers1") <> "" then
    strSQL = strSQL & " AND ( spmtype = 'spm' and ejer = '" & request.form("pers1") & "')"
    if request.form("pers2") <> "" then
    strSQL = strSQL & " OR ( spmtype = 'kommentar' and ejer = '" & request.form("pers2") & "')"
    end if

    end if

    if request.form("pers2") <> "" then
    strSQL = strSQL & " AND ( spmtype = 'kommentar' and ejer = '" & request.form("pers2") & "')"
    end if

if request.form("pers3") <> "" then
    strSQL = strSQL & " AND ( spmtype = 'svar' and ejer = '" & request.form("pers3") & "')"
    end if


prøv lige det her
med grith og pezzo som før
Avatar billede ellebaek Nybegynder
21. maj 2004 - 16:42 #39
nej nej nej...
2 sek.
Avatar billede ellebaek Nybegynder
21. maj 2004 - 16:43 #40
if request.form("pers1") <> "" then
    strSQL = strSQL & " AND ( spmtype = 'spm' and ejer = '" & request.form("pers1") & "')"
    if request.form("pers2") <> "" then
    strSQL = strSQL & " OR ( spmtype = 'kommentar' and ejer = '" & request.form("pers2") & "')"
    end if
if request.form("pers3") <> "" then
    strSQL = strSQL & " OR ( spmtype = 'svar' and ejer = '" & request.form("pers3") & "')"
end if

elseif request.form("pers2") <> "" then
    strSQL = strSQL & " AND ( spmtype = 'kommentar' and ejer = '" & request.form("pers2") & "')"
if request.form("pers3") <> "" then
    strSQL = strSQL & " OR ( spmtype = 'svar' and ejer = '" & request.form("pers3") & "')"
end if


elseif request.form("pers3") <> "" then
    strSQL = strSQL & " AND ( spmtype = 'svar' and ejer = '" & request.form("pers3") & "')"
end if
Avatar billede pezzo Nybegynder
21. maj 2004 - 16:43 #41
SELECT * from spm_data where (titel like '%sjovt%' or tekst like '%sjovt%') AND ( spmtype = 'spm' and ejer = 'grith') OR ( spmtype = 'kommentar' and ejer = 'pezzo') AND ( spmtype = 'kommentar' and ejer = 'pezzo')

pers1=grith
pers2=pezzo

Hmm, ja næsten rigtigt, men nu fik jeg også alle andre spørgsmål som pezzo har kommeteret!
Avatar billede ellebaek Nybegynder
21. maj 2004 - 16:43 #42
ja, det var det...
men prøv det jeg lige skrev nu..
Avatar billede pezzo Nybegynder
21. maj 2004 - 16:43 #43
SELECT * from spm_data where (titel like '%sjovt%' or tekst like '%sjovt%') AND ( spmtype = 'spm' and ejer = 'grith') OR ( spmtype = 'kommentar' and ejer = 'pezzo')

samme problem....
Avatar billede ellebaek Nybegynder
21. maj 2004 - 16:46 #44
ja, den er lidt tricky...

Hmm... det er måske parenteserne..

if request.form("pers1") <> "" then
    strSQL = strSQL & " AND ( spmtype = 'spm' and ejer = '" & request.form("pers1") & "'"
    if request.form("pers2") <> "" then
    strSQL = strSQL & " OR ( spmtype = 'kommentar' and ejer = '" & request.form("pers2") & "')"
    end if
if request.form("pers3") <> "" then
    strSQL = strSQL & " OR ( spmtype = 'svar' and ejer = '" & request.form("pers3") & "')"
end if
strSQL = strSQL & ")"

elseif request.form("pers2") <> "" then
    strSQL = strSQL & " AND ( spmtype = 'kommentar' and ejer = '" & request.form("pers2") & "'"
if request.form("pers3") <> "" then
    strSQL = strSQL & " OR ( spmtype = 'svar' and ejer = '" & request.form("pers3") & "')"
end if
strSQL = strSQL & ")"

elseif request.form("pers3") <> "" then
    strSQL = strSQL & " AND ( spmtype = 'svar' and ejer = '" & request.form("pers3") & "')"
end if

prøv lige sådan her..
Avatar billede pezzo Nybegynder
21. maj 2004 - 16:47 #45
øDen SQL vi roder i nu, bruger jeg jo til at finde alle ID'erne for spørgsmålene, og så derfor putte dem ind i SQL hvor jeg søger efter bestemte kategorier... Skrev jeg pers1=grith og pers2=pezzo fik jeg denne SQL, altså nr. 2 SQL:

SELECT * from spm_data where spmtype <> '' and ( id = 53 OR id = 64 OR id = 66 OR id = 69 OR id = 69 OR id = 69 OR id = 75 OR id = 75 OR id = 75 OR id = 75 OR id = 75 OR id = 75 OR id = 75 OR id = 75 OR id = 75 OR id = 68 OR id = 53 OR id = 53 OR id = 68 OR id = 68 OR id = 68 OR id = 68 OR id = 68 OR id = 68 OR id = 68 OR id = 68 OR id = 68 OR id = 68 OR id = 68 OR id = 68 OR id = 68 OR id = 68 OR id = 68 OR id = 68 OR id = 68 OR id = 68 OR id = 68 OR id = 68 OR id = 75 OR id = 75 OR id = 75 OR id = 75 OR id = 75 OR id = 75 OR id = 75 OR id = 75 OR id = 75 OR id = 75 OR id = 160 OR id = 160 OR id = 160 OR id = 160 OR id = 160 OR id = 160 OR id = 160 OR id = 160 OR id = 160 OR id = 160 OR id = 160 OR id = 160 OR id = 160 OR id = 160) and kat = '2' order by dato desc
Avatar billede pezzo Nybegynder
21. maj 2004 - 16:48 #46
Tjaaah nu virkede det næsten :)

Men skriver jeg nu "hulululumanden" i en af pers felterne skulle den jo ikke komme frem, men gør den :(
Avatar billede ellebaek Nybegynder
21. maj 2004 - 16:49 #47
hmm...

Men det bør da ikke være AND..
prøv lige det her så:

if request.form("pers1") <> "" then
    strSQL = strSQL & " AND ( spmtype = 'spm' and ejer = '" & request.form("pers1") & "'"
    if request.form("pers2") <> "" then
    strSQL = strSQL & " AND ( spmtype = 'kommentar' and ejer = '" & request.form("pers2") & "')"
    end if
if request.form("pers3") <> "" then
    strSQL = strSQL & " AND ( spmtype = 'svar' and ejer = '" & request.form("pers3") & "')"
end if
strSQL = strSQL & ")"

elseif request.form("pers2") <> "" then
    strSQL = strSQL & " AND ( spmtype = 'kommentar' and ejer = '" & request.form("pers2") & "'"
if request.form("pers3") <> "" then
    strSQL = strSQL & " AND ( spmtype = 'svar' and ejer = '" & request.form("pers3") & "')"
end if
strSQL = strSQL & ")"

elseif request.form("pers3") <> "" then
    strSQL = strSQL & " AND ( spmtype = 'svar' and ejer = '" & request.form("pers3") & "')"
end if
Avatar billede pezzo Nybegynder
21. maj 2004 - 16:49 #48
Men skriver jeg "hulu" i pers1 fjerner den det rigtigt, men hvis pers2 og pers3 jeg skriver et eller andet tilfældigt i, fremkommer spørgsmålet alligevel... og skulle den jo helst ikke... :D

Men efter den her nye kode, er nr. 2 SQL udtræk blevet rigtigt :)
Avatar billede pezzo Nybegynder
21. maj 2004 - 16:50 #49
Hov hov nu virker det slet ikke :)
Avatar billede ellebaek Nybegynder
21. maj 2004 - 16:51 #50
nej, det var det jeg mente... Det bør ikke være sådan der...

Det bør være en OR.. Problemet ligger så bare i det med spmtypen..
2 sek.
Avatar billede pezzo Nybegynder
21. maj 2004 - 16:51 #51
Venter  :)
Avatar billede ellebaek Nybegynder
21. maj 2004 - 16:53 #52
var det det jeg skrev: 21/05-2004 16:46:51 der gav det rigtige i den anden sql, men hvis du skrev hulubulumanden i den ene så stadig kom med resultater som den egentlig ikke skulle..?
Avatar billede pezzo Nybegynder
21. maj 2004 - 16:54 #53
Ja >>
Kommentar: ellebaek
21/05-2004 16:46:51

Det den som laver rigtigt 2. SQL - men viser noget forkert hvis jeg skriver hululu i pers2 og pers3... fordi pers1 forstår den godt at den ikke skal vise noget...
Avatar billede ellebaek Nybegynder
21. maj 2004 - 16:55 #54
strSQL = "SELECT * from spm_data where (titel like '%" & request("input") & "%' or tekst like '%" & request("input") & "%')"

    if request.form("pers1") <> "" then
    strSQL = strSQL & " OR ( spmtype = 'spm' and ejer = '" & request.form("pers1") & "' and titel like '%" & request("input") & "%' or tekst like '%" &

request("input") & "%')"
    end if

    if request.form("pers2") <> "" then
    strSQL = strSQL & " OR ( spmtype = 'kommentar' and ejer = '" & request.form("pers2") & "' and titel like '%" & request("input") & "%' or tekst like

'%" & request("input") & "%')"
    end if

    if request.form("pers3") <> "" then
    strSQL = strSQL & " OR ( spmtype = 'svar' and ejer = '" & request.form("pers3") & "' and titel like '%" & request("input") & "%' or tekst like '%" &

request("input") & "%')"
    end if

Nu skal vi eksperimentere..
Prøv lige den her..
Avatar billede ellebaek Nybegynder
21. maj 2004 - 16:56 #55
nej glem det..
Det virker ikke ...
Avatar billede pezzo Nybegynder
21. maj 2004 - 16:56 #56
hehe okai :D
Avatar billede pezzo Nybegynder
21. maj 2004 - 16:57 #57
Men hvad gør vi så? :(
Avatar billede ellebaek Nybegynder
21. maj 2004 - 16:58 #58
Hvad hvis du kun søger på hulubulu så viser den ikke noget?
Hvad hvis du vælger 2 personer som ikke findes..?
Avatar billede pezzo Nybegynder
21. maj 2004 - 17:00 #59
Hmm skriver jeg pezzo i pers2 og pers3 og ikke noget i pers1 skulle den gerne også komme, men gør den heller ikke...

Fanme underligt....
Avatar billede ellebaek Nybegynder
21. maj 2004 - 17:01 #60
kommer den ikke med nogen af dem..?

Kan du ikke vise et screenshot af indholdet af databasen..?=
Avatar billede ellebaek Nybegynder
21. maj 2004 - 17:05 #61
hvad var udskriften af den sidste sql egentlig..?
Avatar billede pezzo Nybegynder
21. maj 2004 - 17:06 #62
Har market dem som jeg primært lige nu arbejder på:
http://data.pezzo.net/db.jpg
Avatar billede ellebaek Nybegynder
21. maj 2004 - 17:07 #63
hmm...

Prøv lige i stedet for at søge på sjovt at søge på tester
Avatar billede pezzo Nybegynder
21. maj 2004 - 17:08 #64
pers1 og pers3 = grith
pers2 = pezzo

SELECT * from spm_data where (titel like '%tester%' or tekst like '%tester%') AND ( spmtype = 'spm' and ejer = 'grith' OR ( spmtype = 'kommentar' and ejer = 'pezzo') OR ( spmtype = 'svar' and ejer = 'grith'))

Nr. 2 SQL:
SELECT * from spm_data where spmtype <> '' and ( id = 64 OR id = 75 OR id = 75 OR id = 75 OR id = 75 OR id = 75 OR id = 75 OR id = 75 OR id = 75 OR id = 75 OR id = 75 OR id = 75 OR id = 75 OR id = 75 OR id = 75 OR id = 75 OR id = 75 OR id = 75 OR id = 75 OR id = 75 OR id = 75) and kat = '2' order by dato desc
Avatar billede ellebaek Nybegynder
21. maj 2004 - 17:10 #65
vidst lidt mere rod med ()..

if request.form("pers1") <> "" then
    strSQL = strSQL & " AND (( spmtype = 'spm' and ejer = '" & request.form("pers1") & "')"
    if request.form("pers2") <> "" then
    strSQL = strSQL & " OR ( spmtype = 'kommentar' and ejer = '" & request.form("pers2") & "')"
    end if
if request.form("pers3") <> "" then
    strSQL = strSQL & " OR ( spmtype = 'svar' and ejer = '" & request.form("pers3") & "')"
end if
strSQL = strSQL & ")"

elseif request.form("pers2") <> "" then
    strSQL = strSQL & " AND (( spmtype = 'kommentar' and ejer = '" & request.form("pers2") & "')"
if request.form("pers3") <> "" then
    strSQL = strSQL & " OR ( spmtype = 'svar' and ejer = '" & request.form("pers3") & "')"
end if
strSQL = strSQL & ")"

elseif request.form("pers3") <> "" then
    strSQL = strSQL & " AND ( spmtype = 'svar' and ejer = '" & request.form("pers3") & "')"
end if
Avatar billede pezzo Nybegynder
21. maj 2004 - 17:10 #66
Men selv om søger på dette stadigvæk forkert hvis jeg skriver noget tilfældigt i pers2 og/eller pers3
Avatar billede pezzo Nybegynder
21. maj 2004 - 17:11 #67
Samme problem med den nye SQL
Avatar billede pezzo Nybegynder
21. maj 2004 - 17:12 #68
SELECT * from spm_data where (titel like '%sjovt%' or tekst like '%sjovt%') AND (( spmtype = 'spm' and ejer = 'grith') OR ( spmtype = 'kommentar' and ejer = 'HULU') OR ( spmtype = 'svar' and ejer = 'grith'))

Nr. 2 SQL:
SELECT * from spm_data where spmtype <> '' and ( id = 75) and kat = '2' order by dato desc
Avatar billede ellebaek Nybegynder
21. maj 2004 - 17:13 #69
skal lige være sikker..
Hvis begge navne er skrevet vil du kun have steder hvor begge deltager..?
Avatar billede pezzo Nybegynder
21. maj 2004 - 17:14 #70
Ja hvis jeg udfylder pers1 skal den kun opfyldes, men hvis pers1 og pers2 skal begge opfyldes, ligeledes hvis pers1 og pers3 skal begge også udfyldes.. og hvis alle pers'er er udfyldt skal alle opfyldes...
Avatar billede pezzo Nybegynder
21. maj 2004 - 17:14 #71
Altså hvor pers1 og pers2 og pers3 deltager (hvis de er udfyldt)

Kort sagt! :)
Avatar billede ellebaek Nybegynder
21. maj 2004 - 17:26 #72
ok...

Så tror jeg faktisk du skal ligge et ekstra check ind..
Hvad hvis du skriver:


set rs = server.createObject("adodb.recordset")
set conn = server.createobject("adodb.connection")
conn.open 'str til db
if request.form("pers1") <> "" then
sql = "SELECT * from spm_data where (titel like '%" & request("input") & "%' or tekst like '%" & request("input") & "%') AND (( spmtype = 'spm' and ejer = '" & request.form("pers1") & "')"
rs.open sql, conn
if not rs.eof then
rs.close
    strSQL = strSQL & " AND (( spmtype = 'spm' and ejer = '" & request.form("pers1") & "')"
    if request.form("pers2") <> "" then
sql = "SELECT * from spm_data where (titel like '%" & request("input") & "%' or tekst like '%" & request("input") & "%') AND (( spmtype = 'kommentar' and ejer = '" & request.form("pers2") & "')"
rs.open sql, conn
if not rs.eof then
    strSQL = strSQL & " OR ( spmtype = 'kommentar' and ejer = '" & request.form("pers2") & "')"
else
resultater = "ingen"
end if
rs.close
    end if

if request.form("pers3") <> "" then
sql = "SELECT * from spm_data where (titel like '%" & request("input") & "%' or tekst like '%" & request("input") & "%') AND (( spmtype = 'svar' and ejer = '" & request.form("pers3") & "')"
rs.open sql, conn
if not rs.eof then
    strSQL = strSQL & " OR ( spmtype = 'svar' and ejer = '" & request.form("pers3") & "')"
else
resultater = "ingen"
end if

rs.close
end if
strSQL = strSQL & ")"
else
resultater = "ingen"
rs.close
end if
rs.close


elseif request.form("pers2") <> "" then
sql = "SELECT * from spm_data where (titel like '%" & request("input") & "%' or tekst like '%" & request("input") & "%') AND (( spmtype = 'kommentar' and ejer = '" & request.form("pers2") & "')"
rs.open sql, conn
if not rs.eof then
rs.close
    strSQL = strSQL & " AND (( spmtype = 'kommentar' and ejer = '" & request.form("pers2") & "')"
if request.form("pers3") <> "" then
sql = "SELECT * from spm_data where (titel like '%" & request("input") & "%' or tekst like '%" & request("input") & "%') AND (( spmtype = 'svar' and ejer = '" & request.form("pers3") & "')"
rs.open sql, conn
if not rs.eof then
    strSQL = strSQL & " OR ( spmtype = 'svar' and ejer = '" & request.form("pers3") & "')"
else
resultater = "ingen"
end if
rs.close
end if
strSQL = strSQL & ")"
else
resultater = "ingen"
rs.close
end if

elseif request.form("pers3") <> "" then
sql = "SELECT * from spm_data where (titel like '%" & request("input") & "%' or tekst like '%" & request("input") & "%') AND (( spmtype = 'svar' and ejer = '" & request.form("pers3") & "')"
rs.open sql, conn
if not rs.eof then

    strSQL = strSQL & " AND ( spmtype = 'svar' and ejer = '" & request.form("pers3") & "')"
else
resultater = "ingen"
end if
rs.close
end if

jeg har ingen anelse om om det her virker. men det chekker først om der er nogen resultater med de 2 nye connections..
Dem skal du lige tilpasse i starten.

Så skal du inden du udfører den næste sql chekke for om variablen resultater = "ingen" hvis den er det, skal der ikke vises noget...
Avatar billede pezzo Nybegynder
21. maj 2004 - 17:28 #73
Hmm hvor dælen skal jeg sætte den kode ind?
Avatar billede ellebaek Nybegynder
21. maj 2004 - 17:32 #74
det er i stedet for det her:

if request.form("pers1") <> "" then
    strSQL = strSQL & " AND (( spmtype = 'spm' and ejer = '" & request.form("pers1") & "')"
    if request.form("pers2") <> "" then
    strSQL = strSQL & " OR ( spmtype = 'kommentar' and ejer = '" & request.form("pers2") & "')"
    end if
if request.form("pers3") <> "" then
    strSQL = strSQL & " OR ( spmtype = 'svar' and ejer = '" & request.form("pers3") & "')"
end if
strSQL = strSQL & ")"

elseif request.form("pers2") <> "" then
    strSQL = strSQL & " AND (( spmtype = 'kommentar' and ejer = '" & request.form("pers2") & "')"
if request.form("pers3") <> "" then
    strSQL = strSQL & " OR ( spmtype = 'svar' and ejer = '" & request.form("pers3") & "')"
end if
strSQL = strSQL & ")"

elseif request.form("pers3") <> "" then
    strSQL = strSQL & " AND ( spmtype = 'svar' and ejer = '" & request.form("pers3") & "')"
end if
Avatar billede ellebaek Nybegynder
21. maj 2004 - 17:35 #75
men når du så skal teste for om der er nogen resultater skal du bruge:

if not rs.eof or not resultater = "ingen" then

i stedet for:
if not rs.eof then
Avatar billede pezzo Nybegynder
21. maj 2004 - 17:44 #76
Giver fejlen : "Data source name not found and no default driver specified "
Avatar billede ellebaek Nybegynder
21. maj 2004 - 17:44 #77
du skal lige rette den her linie..

conn.open 'str til db
Avatar billede pezzo Nybegynder
21. maj 2004 - 17:45 #78
øh jamen hvad skal jeg så skrive der?

fordi har jo en db connection i forvejen?
Avatar billede pezzo Nybegynder
21. maj 2004 - 17:46 #79
Har løst det... men nu giver den dette problem:

Missing ), ], or Item in query expression '(titel like '%sjovt%' or tekst like '%sjovt%') AND (( spmtype = 'spm' and ejer = 'grith')'.
Avatar billede pezzo Nybegynder
21. maj 2004 - 17:47 #80
Fejlen er her:

sql = "SELECT * from spm_data where (titel like '%" & request("input") & "%' or tekst like '%" & request("input") & "%') AND (( spmtype = 'spm' and ejer = '" & request.form("pers1") & "')"
rs.open sql, conn
Avatar billede ellebaek Nybegynder
21. maj 2004 - 17:48 #81
set rs = server.createObject("adodb.recordset")
set conn = server.createobject("adodb.connection")
conn.open 'str til db
if request.form("pers1") <> "" then
sql = "SELECT * from spm_data where (titel like '%" & request("input") & "%' or tekst like '%" & request("input") & "%') AND (( spmtype = 'spm' and ejer = '" & request.form("pers1") & "')"
rs.open sql, conn
if not rs.eof then
rs.close
    strSQL = strSQL & " AND (( spmtype = 'spm' and ejer = '" & request.form("pers1") & "')"
    if request.form("pers2") <> "" then
sql = "SELECT * from spm_data where (titel like '%" & request("input") & "%' or tekst like '%" & request("input") & "%') AND (( spmtype = 'kommentar' and ejer = '" & request.form("pers2") & "')"
rs.open sql, conn
if not rs.eof then
    strSQL = strSQL & " OR ( spmtype = 'kommentar' and ejer = '" & request.form("pers2") & "')"
else
resultater = "ingen"
end if
rs.close
    end if

if request.form("pers3") <> "" then
sql = "SELECT * from spm_data where (titel like '%" & request("input") & "%' or tekst like '%" & request("input") & "%') AND (( spmtype = 'svar' and ejer = '" & request.form("pers3") & "')"
rs.open sql, conn
if not rs.eof then
    strSQL = strSQL & " OR ( spmtype = 'svar' and ejer = '" & request.form("pers3") & "')"
else
resultater = "ingen"
end if
strSQL = strSQL & ")"
rs.close
end if
else
resultater = "ingen"
rs.close
end if
rs.close


elseif request.form("pers2") <> "" then
sql = "SELECT * from spm_data where (titel like '%" & request("input") & "%' or tekst like '%" & request("input") & "%') AND (( spmtype = 'kommentar' and ejer = '" & request.form("pers2") & "')"
rs.open sql, conn
if not rs.eof then
rs.close
    strSQL = strSQL & " AND (( spmtype = 'kommentar' and ejer = '" & request.form("pers2") & "')"
if request.form("pers3") <> "" then
sql = "SELECT * from spm_data where (titel like '%" & request("input") & "%' or tekst like '%" & request("input") & "%') AND (( spmtype = 'svar' and ejer = '" & request.form("pers3") & "')"
rs.open sql, conn
if not rs.eof then
    strSQL = strSQL & " OR ( spmtype = 'svar' and ejer = '" & request.form("pers3") & "')"
else
resultater = "ingen"
end if
rs.close
strSQL = strSQL & ")"
end if
else
resultater = "ingen"
rs.close
end if

elseif request.form("pers3") <> "" then
sql = "SELECT * from spm_data where (titel like '%" & request("input") & "%' or tekst like '%" & request("input") & "%') AND (( spmtype = 'svar' and ejer = '" & request.form("pers3") & "')"
rs.open sql, conn
if not rs.eof then

    strSQL = strSQL & " AND ( spmtype = 'svar' and ejer = '" & request.form("pers3") & "')"
else
resultater = "ingen"
end if
rs.close
end if


Måske sådan her..
Avatar billede pezzo Nybegynder
21. maj 2004 - 17:49 #82
Hjalp ikk...
Avatar billede pezzo Nybegynder
21. maj 2004 - 17:50 #83
Samme problem...
Avatar billede pezzo Nybegynder
21. maj 2004 - 17:53 #84
uha kan slet ikk for den kode til at spille som jeg vil... :(
Avatar billede ellebaek Nybegynder
21. maj 2004 - 17:53 #85
rykkede lige den ene parentes forkert...

set rs = server.createObject("adodb.recordset")
set conn = server.createobject("adodb.connection")
conn.open 'str til db
if request.form("pers1") <> "" then
sql = "SELECT * from spm_data where (titel like '%" & request("input") & "%' or tekst like '%" & request("input") & "%') AND ( spmtype = 'spm' and ejer = '" & request.form("pers1") & "')"
rs.open sql, conn
if not rs.eof then
rs.close
    strSQL = strSQL & " AND (( spmtype = 'spm' and ejer = '" & request.form("pers1") & "')"
    if request.form("pers2") <> "" then
sql = "SELECT * from spm_data where (titel like '%" & request("input") & "%' or tekst like '%" & request("input") & "%') AND ( spmtype = 'kommentar' and ejer = '" & request.form("pers2") & "')"
rs.open sql, conn
if not rs.eof then
    strSQL = strSQL & " OR ( spmtype = 'kommentar' and ejer = '" & request.form("pers2") & "')"
else
resultater = "ingen"
end if
rs.close
    end if

if request.form("pers3") <> "" then
sql = "SELECT * from spm_data where (titel like '%" & request("input") & "%' or tekst like '%" & request("input") & "%') AND ( spmtype = 'svar' and ejer = '" & request.form("pers3") & "')"
rs.open sql, conn
if not rs.eof then
    strSQL = strSQL & " OR ( spmtype = 'svar' and ejer = '" & request.form("pers3") & "')"
else
resultater = "ingen"
end if
rs.close
end if
else
resultater = "ingen"
rs.close
end if
rs.close
strSQL = strSQL & ")"

elseif request.form("pers2") <> "" then
sql = "SELECT * from spm_data where (titel like '%" & request("input") & "%' or tekst like '%" & request("input") & "%') AND ( spmtype = 'kommentar' and ejer = '" & request.form("pers2") & "')"
rs.open sql, conn
if not rs.eof then
rs.close
    strSQL = strSQL & " AND (( spmtype = 'kommentar' and ejer = '" & request.form("pers2") & "')"
if request.form("pers3") <> "" then
sql = "SELECT * from spm_data where (titel like '%" & request("input") & "%' or tekst like '%" & request("input") & "%') AND ( spmtype = 'svar' and ejer = '" & request.form("pers3") & "')"
rs.open sql, conn
if not rs.eof then
    strSQL = strSQL & " OR ( spmtype = 'svar' and ejer = '" & request.form("pers3") & "')"
else
resultater = "ingen"
end if
rs.close

end if
else
resultater = "ingen"
rs.close
end if
strSQL = strSQL & ")"

elseif request.form("pers3") <> "" then
sql = "SELECT * from spm_data where (titel like '%" & request("input") & "%' or tekst like '%" & request("input") & "%') AND ( spmtype = 'svar' and ejer = '" & request.form("pers3") & "')"
rs.open sql, conn
if not rs.eof then

    strSQL = strSQL & " AND ( spmtype = 'svar' and ejer = '" & request.form("pers3") & "')"
else
resultater = "ingen"
end if
rs.close
end if
Avatar billede pezzo Nybegynder
21. maj 2004 - 17:56 #86
Operation is not allowed when the object is open.

Linje den henviser til:
if request.form("pers1") <> "" then
sql = "SELECT * from spm_data where (titel like '%" & request("input") & "%' or tekst like '%" & request("input") & "%') AND ( spmtype = 'spm' and ejer = '" & request.form("pers1") & "')"
>>> (denne her linje) >> rs.open sql, conn
Avatar billede ellebaek Nybegynder
21. maj 2004 - 18:04 #87
Hmm...

prøv lige det her..

<%
set rstest = server.createObject("adodb.recordset")
set conn = server.createobject("adodb.connection")
conn.open 'str til db

if request.form("pers1") <> "" then
    sql = "SELECT * from spm_data where (titel like '%" & request("input") & "%' or tekst like '%" & request("input") & "%') AND ( spmtype = 'spm' and ejer = '" & request.form("pers1") & "')"
    rstest.open sql, conn
    if not rstest.eof then
        rstest.close
    strSQL = strSQL & " AND (( spmtype = 'spm' and ejer = '" & request.form("pers1") & "')"
    if request.form("pers2") <> "" then
sql = "SELECT * from spm_data where (titel like '%" & request("input") & "%' or tekst like '%" & request("input") & "%') AND ( spmtype = 'kommentar' and ejer = '" & request.form("pers2") & "')"
            rstest.open sql, conn
            if not rstest.eof then
            strSQL = strSQL & " OR ( spmtype = 'kommentar' and ejer = '" & request.form("pers2") & "')"
            else
                resultater = "ingen"
            end if
            rstest.close
    end if

        if request.form("pers3") <> "" then
            sql = "SELECT * from spm_data where (titel like '%" & request("input") & "%' or tekst like '%" & request("input") & "%') AND ( spmtype = 'svar' and ejer = '" & request.form("pers3") & "')"
            rstest.open sql, conn
            if not rstest.eof then
            strSQL = strSQL & " OR ( spmtype = 'svar' and ejer = '" & request.form("pers3") & "')"
            else
                resultater = "ingen"
            end if
            rstest.close
        end if
        strSQL = strSQL & ")"
    else
        resultater = "ingen"
        rstest.close
    end if


elseif request.form("pers2") <> "" then
    sql = "SELECT * from spm_data where (titel like '%" & request("input") & "%' or tekst like '%" & request("input") & "%') AND ( spmtype = 'kommentar' and ejer = '" & request.form("pers2") & "')"
    rstest.open sql, conn
    if not rstest.eof then
        rstest.close
    strSQL = strSQL & " AND (( spmtype = 'kommentar' and ejer = '" & request.form("pers2") & "')"
        if request.form("pers3") <> "" then
            sql = "SELECT * from spm_data where (titel like '%" & request("input") & "%' or tekst like '%" & request("input") & "%') AND ( spmtype = 'svar' and ejer = '" & request.form("pers3") & "')"
            rstest.open sql, conn
            if not rstest.eof then
            strSQL = strSQL & " OR ( spmtype = 'svar' and ejer = '" & request.form("pers3") & "')"
            else
                resultater = "ingen"
            end if
            rstest.close

        end if
    strSQL = strSQL & ")"
    else
        resultater = "ingen"
        rstest.close
    end if


elseif request.form("pers3") <> "" then
    sql = "SELECT * from spm_data where (titel like '%" & request("input") & "%' or tekst like '%" & request("input") & "%') AND ( spmtype = 'svar' and ejer = '" & request.form("pers3") & "')"
    rstest.open sql, conn
    if not rstest.eof then

    strSQL = strSQL & " AND ( spmtype = 'svar' and ejer = '" & request.form("pers3") & "')"
    else
        resultater = "ingen"
    end if
    rstest.close
end if
%>
Avatar billede pezzo Nybegynder
21. maj 2004 - 18:05 #88
Object required: ''

(>>>>)    rstest.open sql, conn
    if not rstest.eof then
        rstest.close
Avatar billede pezzo Nybegynder
21. maj 2004 - 18:06 #89
hov min fjel :)
Avatar billede pezzo Nybegynder
21. maj 2004 - 18:06 #90
Item cannot be found in the collection corresponding to the requested name or ordinal.

Linjen er helt nede i min output kode:
rel2 = rs("id")
Avatar billede pezzo Nybegynder
21. maj 2004 - 18:07 #91
Avatar billede ellebaek Nybegynder
21. maj 2004 - 18:08 #92
ja, det må være fordi der ikke kan findes noget..
Det er der du skal sætte linien:

if not resultater = "ingen" then
så må der findes resultater
else
der er ikke nogen..
end if

Skal spise nu, og kommer nok desværre ikke mere i dag..
Håber du får det løst--
Avatar billede ellebaek Nybegynder
22. maj 2004 - 17:26 #93
Er det lykkedes at få det til at fungere..?
Avatar billede pezzo Nybegynder
22. maj 2004 - 18:55 #94
Nej :(

Flere gode forslag?? :D
Avatar billede ellebaek Nybegynder
22. maj 2004 - 22:35 #95
Umiddelbart ikke helt...
Men hvad gør den forkert med det vi prøvede før..?
Avatar billede pezzo Nybegynder
22. maj 2004 - 22:40 #96
den kode jeg sidst fik ti lat virke virkede egentligt rigtigt nok hvis man bruge pers1 ... men skrev man noget tilfældigt, i pers2 og pers3 kom der noget frem alligevel...
Avatar billede ellebaek Nybegynder
22. maj 2004 - 23:03 #97
ja præcis..
Det var det jeg prøvede at forhindre ved at lave et check i databasen først..

Virkede det ikke..?

Altså kombinationen af dem her:
21/05-2004 18:04:24
21/05-2004 18:08:28
Avatar billede pezzo Nybegynder
23. maj 2004 - 10:21 #98
Hmm har selv været ved at rode lidt nu, og nu kan jeg få den til at lave rigtigt ved både pers1 og pers2. DOG hvis jeg skriver noget tilfældigt i pers3 kommer der også noget frem som ikke skulle.

Dvs. skriver noget tilfældigt i pers1 og pers2 eller blot en af dem, viser den ikke noget, hvilket så er rigtigt. Men som sagt kan ikke få den til at lade vær vise noget hvis ikke pers3 opfylder kravene.

Nye kode:
if request.form("pers2") <> "" then
strSQL = "SELECT * from spm_data where spmtype = 'kommentar' and ejer = '" & request.form("pers2") & "'"
set rs = objConn.execute(strSQL)
if not rs.eof then
Do
Count = Count + 1
rel = rs("rel")

if Count = 1 then
insertSQL_pers2 = insertSQL_pers2 & " id = " & rel & ""
else
insertSQL_pers2 = insertSQL_pers2 & " OR id = " & rel & ""
end if
rs.movenext
loop while not rs.eof
else
ingen_personer = "True"
end if
end if


if request.form("pers3") <> "" then
Count = 0
strSQL = "SELECT * from spm_data where spmtype = 'svar' and ejer = '" & request.form("pers2") & "'"
set rs = objConn.execute(strSQL)
if not rs.eof then
Do
Count = Count + 1
rel = rs("rel")

if Count = 1 then
insertSQL_pers3 = insertSQL_pers3 & " id = " & rel & ""
else
insertSQL_pers3 = insertSQL_pers3 & " OR id = " & rel & ""
end if
rs.movenext
loop while not rs.eof
else
ingen_personer = "True"
end if
end if





if not ingen_personer = "True" then
Count = 0
strSQL = "SELECT * from spm_data where (titel like '%" & request("input") & "%' or tekst like '%" & request("input") & "%')"

    if insertSQL_pers2 <> "" then
    strSQL = strSQL & " AND (" & insertSQL_pers2 & ")"
    end if

    if insertSQL_pers3 <> "" then
    strSQL = strSQL & " AND (" & insertSQL_pers3 & ")"
    end if



Mit tjek af pers1 kommer i min 2. SQL her:
strSQL = "SELECT * from spm_data where spmtype <> ''"

    if insertSQL <> "" then
    strSQL = strSQL & " and (" & insertSQL & ")"
    end if

    if request.form("pers1") <> "" then
    strSQL = strSQL & " and ( spmtype = 'spm' and ejer = '" & request.form("pers1") & "')"
    end if

    if rela_kat <> "" then
    strSQL = strSQL & " and kat = '" & rela_kat & "'"
    end if

    if rela <> "" then
    strSQL = strSQL & " and kat_a = '" & rela & "'"
    end if

    if relb <> "" then
    strSQL = strSQL & " and kat_b = '" & relb & "'"
    end if

    if request.querystring("GenerateList") <> "" then
    strSQL = strSQL & " and status = '" & request.querystring("GenerateList") & "'"
    end if



FOrslag til hvordan jeg lige klare den? :)
Avatar billede pezzo Nybegynder
23. maj 2004 - 10:23 #99
Avatar billede pezzo Nybegynder
23. maj 2004 - 10:29 #100
HAHA min fejl her var i pers3:
strSQL = "SELECT * from spm_data where spmtype = 'svar' and ejer = '" & request.form("pers2") & "'"


skulle jo være

strSQL = "SELECT * from spm_data where spmtype = 'svar' and ejer = '" & request.form("pers3") & "'"

Tror faktisk også min kode virker nu...! men ikke helt sikkert... meeen tror det...
Avatar billede ellebaek Nybegynder
23. maj 2004 - 17:20 #101
det lyder rigtig godt hvis det er ved at virke..

Men virker det også det med at den sortere dem fra som ikke findes..?
Avatar billede pezzo Nybegynder
23. maj 2004 - 17:33 #102
Jepper :)

Har testet mange gange og har ikke fundet nogen fejl i koden endu.
Avatar billede ellebaek Nybegynder
23. maj 2004 - 17:38 #103
ok...
Så prøver jeg lykken med et svar ;-)
Avatar billede pezzo Nybegynder
23. maj 2004 - 17:44 #104
Ja altså godt nok har jeg ikke brugt din kode til noget, da jeg har lavet en ren kode, men okai vi kan vel godt få lidt part i det begge dele for har da hjulpet og prøvet meget :)
Avatar billede ellebaek Nybegynder
23. maj 2004 - 17:52 #105
Jeg takker mange gange ;-)
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