webForumDet fria alternativet

Svars-funktion.

ASP

61 svar · 964 visningar · startad av AboO · sida 2 av 4

Frågan, av AboO

Jag håller på med en gästboks liknande grej och jag tänkte fixa en svars-funktion så vem som helst kan svara/kommentera inläggen. Ungefär som ett forum. Nån som har en idé på hur man gör det på lättast sätt? Jag är ganska ny med ASP och jag kommer inte på nåt bra sätt att göra det på. Jag tänkte att de fyller i svar å så genom ett formulär så de sparas i databasen, men hur ska man länka de så m

Läs frågan i sin helhet →
Medlem sedan juni 2002191 inlägg
#21

Jo, eller det blir inget fel-meddelande. Men det verkar som det inte hämtar de nya meddelanden från databasen. För när jag skriver ett nytt inlägg så kommer inte de upp.

så här ser koden ut nu:

<% 
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath ("idelada.mdb") 
Set RecSet = Server.CreateObject("ADODB.Recordset")
Addera = "SELECT * FROM results order by id desc"      
RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic
strSQL = "Select * From Results,Kommentar where ID = kid order by ID" 
%> 

<% Set objRS = Connect.Execute(strSQL)
do until objRS.EOF %>    

Namn: <%Response.Write(objRS("namn"))%>  
Företag: <%Response.Write(objRS("foretag"))%> 
Inlägg: <%Response.Write(objRS("inlagg"))%>
<a href="answer.asp?id="<%=Response.Write(objRS("ID"))%>" target="_blank">Kommentera</A>
<a href="tabort.asp?delID=<%Response.Write(objRS("ID"))%>" onClick="return confirm('Är du säker på att du vill ta bort inlägget??')" target="_self">Radera</a> 
<%Response.Write(objRS("time"))%>

Namn:</B>&nbsp;<%Response.Write(objRS("svarnamn"))%>  
Kommentar:</B>&nbsp; <%Response.Write(objRS("svar"))%>  
<a href="anwdel.asp?delID=<%Response.Write(objRS("Kid"))%>" onClick="return confirm('Är du säker på att du vill ta bort kommentaren?')" target="_self">Radera</a> 
<%Response.Write(objRS("namn"))%> 

<%
objRS.MoveNext

Loop 
Set objRS = Nothing%>
Medlem sedan mars 20015 287 inlägg
#22

Du kan börja med att ta bort dessa rader, de använder du inte:

Set RecSet = Server.CreateObject("ADODB.Recordset")
Addera = "SELECT * FROM results order by id desc"      
RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic

Sen så fungerar det där inte riktigt har jag märkt, eller ja den listar ju varje artikel flera gånger om den har flera kommentarer.

Hur löses det tro...? hm..

SQL-frågan måste skrivas om...

Medlem sedan juni 2002191 inlägg
#23

Ja, det är något som inte funkar som det ska.. vad det nu är :)

Medlem sedan mars 20015 287 inlägg
#24

Nu får du onekligen bara ut de poster som även har en kommentar, din join ska se annorlunda ut, men det är över min förmåga.

Medlem sedan juni 2002191 inlägg
#25

Aha, okej. Då vet jag vart felet sitter iaf :)

Nån annan som vet vad jag ska ändra på?

Medlem sedan jan. 20032 285 inlägg
#26

AboO skrev:

strSQL = "Select * From Results,Kommentar where ID = [b]kid[/b] order by ID"

Förstår inte varför den ska hämta alla som har ID = kid och sen sortera efter det? Får alla nya poster verkligen värdet ID = kid, det verkar lite konstigt?

Medlem sedan juni 2002191 inlägg
#27

De är jag som har förstått fel :/
kid = kommentarernas ID
eller tabellen där kommentarerns ID hamnar.

Medlem sedan jan. 20032 285 inlägg
#28
strSQL = "SELECT * FROM Results,Kommentar WHERE kid = " &_
Request.QueryString("ID") & " ORDER BY kid"

Vet inte riktigt hur du menar, men nåt sånt kanske?

Medlem sedan juni 2002191 inlägg
#29

Då står det så här:
[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'kid ='.

/aboox/db/list.asp, line 38

Men jag ska förklara
Jag har två tabeller; Results och Kommentar

Results ser ut så här:
ID - Autonumber
Namn - text
Inlagg - memo
time - time/date
foretag - text

och Kommentar ser ut så här:
Kid - autonumber
svarnamn - text
svar - memo
time - date/time.

Och jag vill att det ska sorteras efter results ID

Medlem sedan jan. 20032 285 inlägg
#30

Jag måste tyvärr säga att jag inte heller är så haj på joins, så jag kan inte hjälpa dig :(

Medlem sedan juni 2002191 inlägg
#31

Aha, okej :/

Medlem sedan mars 20015 287 inlägg
#32

Du kan ju alltid testa denna, tror den är lite bättre.

strSQL = "SELECT kommentar.svarnamn, kommentar.kid, kommentar.svar, Results.id, Results.foretag, Results.inlagg, Results.namn, Results.time
FROM Results Left outer JOIN kommentar ON Results.id = kommentar.kid order by Results.id"
Medlem sedan juni 2002191 inlägg
#33

Unterminated string constant

/aboox/db/list.asp, line 6

blir det då

Medlem sedan nov. 20017 144 inlägg
#34
strSQL = "SELECT kommentar.svarnamn, kommentar.kid, kommentar.svar, Results.id, Results.foretag, Results.inlagg, Results.namn, Results.time"&_
"FROM Results Left outer JOIN kommentar ON Results.id = kommentar.kid order by Results.id"
Medlem sedan mars 20015 287 inlägg
#35

jaja... :)

Medlem sedan juni 2002191 inlägg
#36

[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'Results.timeFROM Results Left outer JOIN kommentar ON Results.id = kommentar.kid order by Results.id'.

/aboox/db/list.asp, line 38

Medlem sedan dec. 200012 464 inlägg
#37
strSQL = "SELECT kommentar.svarnamn, kommentar.kid, kommentar.svar, Results.id, Results.foretag, Results.inlagg, Results.namn, Results.time"&_
" FROM Results Left outer JOIN kommentar ON Results.id = kommentar.kid order by Results.id"

det saknades en blank framför FROM

Medlem sedan juni 2002191 inlägg
#38

Tack LarsG nu funkar det.
Fast om du testar http://user.domaindlx.com/aboox/db/index.htm
så märker du att om man kommenterar så hamnar det vid fel inlägg?

Medlem sedan jan. 20032 285 inlägg
#39

Länken "Kommentera" leder till answer.asp?id=**>**id:t. Det är inte riktigt rätt va?

Medlem sedan mars 20015 287 inlägg
#40

Att kommentarerna hamnar vid fel inlägg,hm det fattar jag inte.

Denna kod gör att om du har flera kommentarer så hamnar de banne mig underrätt inlägg samt att inlägget syns bara en gång.

<% 
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath ("idelada.mdb") 

strSQL = "SELECT kommentar.svarnamn, kommentar.kid, kommentar.svar, Results.id, Results.foretag, Results.inlagg, Results.namn, Results.time"&_
" FROM Results Left outer JOIN kommentar ON Results.id = kommentar.kid order by Results.id" 

Set objRS = Connect.Execute(strSQL)
do until objRS.EOF  

If checkid <> objRS("id") then %>  
Namn: <%Response.Write(objRS("namn"))%>  
Företag: <%Response.Write(objRS("foretag"))%>
Inlägg: <%Response.Write(objRS("inlagg"))%>
<a href="answer.asp?id=<%=Response.Write(objRS("ID"))%>" target="_blank">Kommentera</A>
<a href="tabort.asp?delID=<%Response.Write(objRS("ID"))%>" onClick="return confirm('Är du säker på att du vill ta bort inlägget??')" target="_self">Radera</a>
<%Response.Write(objRS("time"))%> <br><br>

<% End If %>
Namn:</B> <%Response.Write(objRS("svarnamn"))%>
Kommentar:</B>  <%Response.Write(objRS("svar"))%>
<a href="anwdel.asp?delID=<%Response.Write(objRS("Kid"))%>" onClick="return confirm('Är du säker på att du vill ta bort kommentaren?')" target="_self">Radera</a> 
<%Response.Write(objRS("namn"))%>

<%

checkid = objRS("id")

objRS.MoveNext

Loop 
Set objRS = Nothing
%>
277 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
131 ms — deklarationer (db)
0 ms — hämta statistik (cache)
143 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)