webForumDet fria alternativet

Fel vid getrows i mysql

ASP

8 svar · 184 visningar · startad av Jesper T

Medlem sedan nov. 20017 144 inlägg
Frågan#1

Denna funkar som den skall:

Set RecSet = Connect.Execute("SELECT f.f_id,f.f_name,f.f_body,f.f_date,f.f_userid,f.f_count FROM forum as f "&_
	                              "WHERE f_id="& threadid &" OR f_answid="& threadid &" ORDER BY f_date")
		If NOT RecSet.EOF Then arrRecSet = RecSet.GetRows()

Men när jag skall länka in användarnamnet ifrån en annan tabell så listas posterna upp så många gånger som det finns namn så att säga.

Set RecSet = Connect.Execute("SELECT f.f_id,f.f_name,f.f_body,f.f_date,f.f_userid,f.f_count,[b]fu.fu_name[/b] FROM forum as f[b], forum_users as fu [/b]"&_
	                              "WHERE [b]f_userid=fu_id AND [/b]f_id="& threadid &" OR f_answid="& threadid &" ORDER BY f_date")
		If NOT RecSet.EOF Then arrRecSet = RecSet.GetRows()

Vad gör jag fel?

Medlem sedan mars 20032 667 inlägg
#2

Hur skriver du ut innehållet i arrayen då?

Medlem sedan mars 20032 667 inlägg
#3

"fu_id ", heter kolumnen så eller menar du fu.id, eftersom du har aliaset fu på ena tabellen.

Medlem sedan dec. 200012 464 inlägg
#4

Lägg till lite parenteser i dina villkor. Vilken precedens vill du ha för din or?

Medlem sedan nov. 20017 144 inlägg
#5

Allt är inte klart ännu men det ser ut så här:

For i = firstpost To lastpost
		Response.Write "<div class=""thread_name"">"& arrRecSet(1,i) &"</div>"& vbcrlf &_
		"<div class=""thread_body"">"& GetUrl(arrRecSet(2,i)) &"</div>"& vbcrlf &_
		"<div class=""forum_desc""> av:"& arrRecSet(6,i) &" ("& arrRecSet(4,i) &" svar)</div>"& vbcrlf
	Next
Medlem sedan nov. 20017 144 inlägg
#6

LarsG skrev:

precedens

precedens :q

Medlem sedan nov. 20017 144 inlägg
#7

Paranteser tror jag gjorde susen, detta verkar funka:

Set RecSet = Connect.Execute("SELECT f.f_id,f.f_name,f.f_body,f.f_date,f.f_userid,f.f_count,fu.fu_name FROM forum as f,forum_users as fu "&_
	                              "WHERE f.f_userid=fu.fu_id AND (f.f_id="& threadid &" OR f.f_answid="& threadid &") ORDER BY f.f_date")
		If NOT RecSet.EOF Then arrRecSet = RecSet.GetRows()
Medlem sedan dec. 200012 464 inlägg
#8

Ja, vill du att villkoret skall tolkas som

(a and b) or c

eller

a and (b or c)

Medlem sedan nov. 20017 144 inlägg
#9

a and (b or c), skall det va.
Tack!

254 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)