webForumDet fria alternativet

Forumet - vill ej fungera

ASP

37 svar · 849 visningar · startad av voigtann1

Medlem sedan juni 20019 519 inlägg
Frågan#1

om ni kollar:
http://voigt.voigtan.cjb.net/forum/
så håller jag på med ett hobby forum som liknar detta och dom flesta "bra" forumen

Problemet är om man ska kolla i ett forum så lista sej alla topics som är i just det forumet och så står det vem som svarade sist
MEN! den markera inte den som svarade sist utan den som gjorde den senaste topicen i forumet :(

Behöver lite hjälp så att jag slipper jobba på min födelsedag :)

Medlem sedan nov. 20017 144 inlägg
#2

Är det inte bara att sätta order by date istället för id?

MVH Jesper
PS: Grattis!

Medlem sedan juni 20019 519 inlägg
#3

hmm.. kanske.. men om man tar order by date.. så sortera den inte efter datum.. utan fortfarande tal.. så om vi posta en kl 14:20 och en 15:10 så kommer 14:20 före tror jag...

en rolig funktion testa att ändra style=1 till 2 eller 3 :)

Medlem sedan okt. 20005 273 inlägg
#4

hur ser SQLsatsen ut som hämtar alla posterna....?

Medlem sedan juni 20019 519 inlägg
#5

<%
If RS_datum_check("datum_check") <> 0 then

	SQL = "SELECT datum FROM topics WHERE id=" & RS2("id") &" OR svar_id=" & RS2("id") & " ORDER BY svar_id DESC"
	'SQL = "select datum from topics where svar_id="&RS2("id")
	SQL = SQL & " order by datum desc"
	Set RS_datum = Databas.Execute(SQL)
	SQL = "select skribent from topics where forum_id = " & RS2("id") &" order by datum DESC"
	Set RS_skribent = Databas.Execute(SQL)
Else
	SQL = "select datum from topics where id="&RS2("id")
	SQL = SQL & " order by datum desc"
	Set RS_datum = Databas.Execute(SQL)
	SQL = "select skribent from topics where forum_id = " & RS2("id") &" order by datum DESC"
	Set RS_skribent = Databas.Execute(SQL)
End If

%>

Medlem sedan mars 20015 287 inlägg
#6

ORDER BY svar_id DESC
bör du väl ta bort från den översta raden annars "krockar" väl det med:
order by datum desc
på den tredje raden?

Medlem sedan juni 20019 519 inlägg
#7

nope.. hjälpte inte =(
men ändrade lite:

<%
Do While NOT RS2.EOF

SQL = "select \* from topics where forum_id="&Request.Querystring("id")
Set RS_inlagg = Databas.Execute(SQL)

SQL = "select count(\*) AS count_svar from topics where svar_id="&RS2("id")
Set RS_count_svar = Databas.Execute(SQL)

SQL = "select count(\*) AS datum_check from topics where svar_id="&RS2("id")
Set RS_datum_check = Databas.Execute(SQL)

If RS_datum_check("datum_check") \<\> 0 then

	SQL = "SELECT datum FROM topics WHERE id=" & RS2("id") &" OR svar_id=" & RS2("id")
	SQL = SQL & " order by datum desc"
	Set RS_datum = Databas.Execute(SQL)
	SQL = "select skribent from topics where forum_id = " & RS2("id") &" order by datum DESC"
	Set RS_skribent = Databas.Execute(SQL)
Else
	SQL = "select datum from topics where id="&RS2("id")
	SQL = SQL & " order by datum desc"
	Set RS_datum = Databas.Execute(SQL)
	SQL = "select skribent from topics where forum_id = " & RS2("id") &" order by datum DESC"
	Set RS_skribent = Databas.Execute(SQL)
End If
SQL = "SELECT \* FROM topics WHERE id=" & RS("id") &" OR svar_id=" & RS2("id") & " ORDER BY svar_id DESC"
Set RS_senastetest = Databas.Execute(SQL)

%>

Medlem sedan juni 20019 519 inlägg
#8

Nu har jag fått det att fungera med datum saken.. men jag får inte ut "Senaste svar av: " saken! argh!
<%
SQL = "select skribent from topics WHERE id=" & RS("id") &" OR svar_id=" & RS2("id") & " order by datum DESC"
Set RS_skribent = Databas.Execute(SQL)
%>
<b>Senaste svar av: <%=RS_skribent("skribent")%></b>

är det fel?

Medlem sedan juni 200032 967 inlägg
#9

Felmeddelande?

Medlem sedan juni 20019 519 inlägg
#10

Error Type:
ADODB.Field (0x80020009)
Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record.
/voigtan/voigt/forum/forum2.asp

Medlem sedan juni 200032 967 inlägg
#11

Då gav SQL-frågan ingen träff.
Skriv ut den med response.write för att kontrollera att den innehåller korrekta värden.

Mvh,

Medlem sedan juni 20019 519 inlägg
#12

men den ska stämma.. hur testar jag den då?

Medlem sedan mars 20015 287 inlägg
#13

<%
SQL = "select skribent from topics WHERE id=" & RS("id") &" OR svar_id=" & RS2("id") & " order by datum DESC"
'Set RS_skribent = Databas.Execute(SQL)

response.write SQL
%>
<b>Senaste svar av: <%='RS_skribent("skribent")%></b>

Medlem sedan juni 20019 519 inlägg
#14

select skribent from topics WHERE id=3 OR svar_id=28 order by datum desc

fick jag..

Medlem sedan juni 20019 519 inlägg
#15

någon som vet var den kan CP:ar sej???

Medlem sedan juni 200032 967 inlägg
#16

Nej, om nuffrorna är rätt och du angett rätt id-fält i frågan så borde det ju funka. Det ska inte vara forum_id någonstans? *famlar i mörkret*

Medlem sedan juni 20019 519 inlägg
#17

testade att ändra om ID= till forum_ID.. då fungerade det.. men då får jag "Senaste svar av: SVAR"

på alla...

Medlem sedan juni 20019 519 inlägg
#18

typ.. nu är error för att det finns inget svar... så jag skrev så här:
<%
SQL = "select skribent from topics WHERE forum_id=" & RS("id") &" and svar_id=" & RS2("id")
SQL = SQL & " order by datum desc"
Set RS_skribent = Databas.Execute(SQL)
%>

<%
if RS_skribent("skribent") <> "" then
response.write RS_skribent("skribent")
else
response.write ""
end if
%>

men jag får error på den första raden..

Medlem sedan juni 200032 967 inlägg
#19

IF NOT rs_skribent.eof THEN...

Medlem sedan juni 20019 519 inlägg
#20

TACK! fungera hur bra som hellst nu!

267 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)