Menar du någonting i stil med...
SELECT msg, answer FROM tabell1, tabell2 WHERE answer_ID = msg_ID AND msg_ID = 3
------------------
"Tål det inte att skämtas om, är det inte värt att ta på allvar."
[Redigerat av Pace den 26 dec 2001]
10 svar · 201 visningar · startad av jimpa
Hej,
Håller på med ett litet script (typ forum). Jag har två aktuella fält i db.
"Msg" och "Answer". Är det någon som har ett ex. på hur jag kan skriva koden så att rubrikerna kan visas i följande ordning:
Rubrik1(Msg)
Svar1 till Rubrik1(Answer)
Svar2 till Rubrik1(Answer)
Svar3 till Rubrik1(Answer)
Rubrik2(Msg)
Svar1 till Rubrik2(Answer)
Svar2 till Rubrik2(Answer)
Svar3 till Rubrik2(Answer)
Svar4 till Rubrik2(Answer)
Rubrik3(Msg)
Svar1 till Rubrik3(Answer)
Svar2 till Rubrik3(Answer)
Svar3 till Rubrik3(Answer)
Svar4 till Rubrik3(Answer)
osv....
Mvh
Jimmy
Menar du någonting i stil med...
SELECT msg, answer FROM tabell1, tabell2 WHERE answer_ID = msg_ID AND msg_ID = 3
------------------
"Tål det inte att skämtas om, är det inte värt att ta på allvar."
[Redigerat av Pace den 26 dec 2001]
Hej,
Nja problemet är inte hur jag hämtar ur db utan hur ja skriver ut det på sidan, självaste loopen.
Hoppas ni förstår vad jag är ute efter
Mvh
Jimpa
Hur visar du sidan, med matriser (getrows) eller med recordset? (rs.movenext)
------------------
"Tål det inte att skämtas om, är det inte värt att ta på allvar."
Hej,
Eftersom den här delen på sidan ännu inte finns och kommer att bli en del för sig själv så är jag öppen för båda alternativen. Kanske ska nämna att rs.MoveNext känns mest bekant.
Mvh
Jimpa
Hej,
Jag försöker igen..
Jag har denna SQL-sats för koppla ihop 2st tabeller:
SQL = "SELECT * FROM ScriptComments INNER JOIN ScriptReplies ON ScriptComments.sComment_ID = ScriptReplies.sReplies_commentID WHERE ScriptComments.sComment_scriptID = " & ID & " ORDER by ScriptComments.sComment_ID DESC, ScriptReplies.sReplies_commentID DESC"
Nu vill jag alltså skriva ut ev. data på följande sätt:
Rubrik1
Svar1 till Rubrik1
Svar2 till Rubrik1
Svar3 till Rubrik1
Rubrik2
Svar1 till Rubrik2
Svar2 till Rubrik2
Svar3 till Rubrik2
Svar4 till Rubrik2
Rubrik3Svar1 till Rubrik3
Svar2 till Rubrik3
Svar3 till Rubrik3
Svar4 till Rubrik3
osv....
Har testat lite med det här:
<!--#include file="Conn.asp"-->
<%
ID = Request.QueryString("ID")
SQL = "SELECT * FROM ScriptComments INNER JOIN ScriptReplies ON ScriptComments.sComment_ID = ScriptReplies.sReplies_commentID WHERE ScriptComments.sComment_scriptID = " & ID & " ORDER by ScriptComments.sComment_ID DESC, ScriptReplies.sReplies_commentID DESC"
Set rsComments = Conn.Execute(SQL)
if rsComments.EOF or rsComments.BOF then
response.write ""
else
Do Until rsComments.EOF
sComment_Subject = rsComments("sComment_Subject")
sComment_Text = rsComments("sComment_Text")
sComment_Dte = rsComments("sComment_Dte")
scommentID = rsComments("sComment_ID")
sReplies_Subject = rsComments("sReplies_Subject")
sReplies_Dte = rsComments("sReplies_Dte")
sReplies_ID = rsComments("sReplies_ID")
Response.Write = "--> " & sComment_Subject & sComment_Dte & "---ID = " & scommentID & "<br>"
Response.Write = "-------->>>" & sReplies_Subject & sReplies_Dte & "---ID = " & sReplies_ID & "<br>"
rsComments.MoveNext
Loop
end if
%>
När sidan visas blir det så här:
--> Rubrik till Kommentar 12/27/01 12:47:55 PM---ID = 8
-------->>>Re:Rubrik till Kommentar 12/27/01 12:51:39 PM---ID = 5
--> Rubrik till Kommentar 12/27/01 12:47:55 PM---ID = 8
-------->>>Re:Rubrik till Kommentar 12/27/01 12:48:13 PM---ID = 4
Skriver alltså ut samma rubrik flera ggr. :( Hur kan man ändra så som jag vill ha det :q
Ett annat problem:
Om det inte finns några svar till en kommentar, hur kan jag få fram kommentaren. Som SQL-satsen är nu så får jag ju bara fram kommentarer där det finns tillhörande svar.
Mvh
[Redigerat av jimpa den 27 dec 2001]
[Redigerat av jimpa den 27 dec 2001]
[Redigerat av jimpa den 27 dec 2001]
Finns det ingen som har något förslag :q :i
Trodde aldrig att detta skulle vara så svårt....
Men nog finns det väl "Gurus" på WF??
eller... :00
Såhär menar du kanske?
.id är bara en nyckel, har du någon annan unik identifierare så välj de istället.
xTmp = ""
SQLStmt = "SELECT message.msg, answere.ans FROM message INNER JOIN answere ON message.id = answere.id ORDER BY message.msg, answere.ans"
Set RS = Connection.Execute(SQLStmt)
If RS.EOF Then
' response.write "blabla"
else
Do until RS.EOF
If xTmp <> RS("msg") Then
response.write "<B>" & RS("msg") & "</B><br>"
End If
response.write RS("ans") & "<br>"
xTmp = RS("msg")
RS.MoveNext
loop
End If
------------------
Mvh
Patrik aka Brimba
[Redigerat av Brimba den 28 dec 2001]
Tack för ditt svar... Brimba
Tusen tack!!! :)
Problem nr.2 :(
Om det inte finns några svar till en kommentar, hur kan jag få fram kommentaren. Som SQL-satsen är nu så får jag ju bara fram kommentarer där det finns tillhörande svar.
Vill alltså få det typ så här:
Rubrik1
svar1 till Rubrik1
svar2 till Rubrik1
svar3 till Rubrik1
Rubrik2
(Inga svar till Rubrik2)
Rubrik3
svar1 till Rubrik3
svar2 till Rubrik3
svar3 till Rubrik3
<!--#include file="Conn.asp"-->
<%
ID = Request.QueryString("ID")
xTmp = ""
SQL = "SELECT ScriptComments.*, ScriptReplies.* FROM ScriptComments INNER JOIN ScriptReplies ON ScriptComments.sComment_ID = ScriptReplies.sReplies_commentID WHERE ScriptComments.sComment_scriptID = " & ID & " ORDER by ScriptComments.sComment_ID DESC, ScriptReplies.sReplies_commentID DESC"
Set rsComments = Conn.Execute(SQL)
if rsComments.EOF or rsComments.BOF then
response.write ""
else
Do Until rsComments.EOF
rsComments("sComment_Subject")
'rsComments("sComment_Text")
rsComments("sComment_Dte")
rsComments("sComment_ID")
rsComments("sReplies_Subject")
rsComments("sReplies_Dte")
rsComments("sReplies_ID")
If xTmp <> rsComments("sComment_Subject") Then
Response.Write = "--> " & rsComments("sComment_Subject") & rsComments("sComment_Dte") & "---ID = " & rsComments("sComment_ID") & "<br>"
End If
Response.Write = "-------->>>" & rsComments("sReplies_Subject") & rsComments("sReplies_Dte") & "---ID = " & rsComments("sReplies_ID") & "<br>"
xTmp = rsComments("sComment_Subject")
rsComments.MoveNext
Loop
end if
%>
Mvh
Jimmy
Testa med LEFT JOIN istället för INNER JOIN.
cya,
PatrikB
------------------
-=* IF there is a wrong way to do something, then someone will do it *=-