webForumDet fria alternativet

Join, fel med kopplingarna!

Databaser & SQL

8 svar · 327 visningar · startad av crisse6

Medlem sedan dec. 20002 526 inlägg
Frågan#1

Hej!

Försöker binda det avsändarID som finns i t_GB till ett namn i t_users som har samma id som avsändarID:et.. men får ej det att funka! Vad har jag gjort för fel?

strFrom = "Select FROM t_GB.GBFromID, t_users.userName, t_users.userID INNER JOIN t_users ON t_GB.GBFromID = t_users.userID"
Medlem sedan juni 200032 967 inlägg
#2

Till att börja med har du specificerat vilka fält du vill hämta i FROM-delen. Fälten ska du lista efter SELECT.

Ett annat fel du gör är att inte tala om på vilket sätt det inte fungerar, eller bifoga felmeddelande.

Medlem sedan dec. 20003 887 inlägg
#3
SELECT t_GB.GBFromID, t_users.userName, t_users.userID
FROM t_GB
INNER JOIN t_users
  ON t_GB.GBFromID = t_users.userID
Medlem sedan dec. 20002 526 inlägg
#4

bara en grej, sätter jag nu att det är från en annan så kommer det ej med... hmmm..... kanske jag som gör fel!!!
Iaf, gästboken hämtas via sida.asp?userID=medlemmensID

använder Engines sql nu... så vad gör jag för fel!?

Medlem sedan dec. 200012 464 inlägg
#5
if  request.querystring("userid") <> "" and isNumeric(request.querystring("userid")) then
q = "SELECT t_GB.GBFromID, t_users.userName, t_users.userID " & _
" FROM t_GB right outer JOIN t_users " & _
" ON t_GB.GBFromID = t_users.userID " & _
" where t_users.userID = " & request.querystring("userid")
'usw

Förmodar att du anger id för en medlem som ej gjort något inlägg!?

Medlem sedan dec. 20002 526 inlägg
#6

kanske den ska flyttas till ASP forumet? Iaf, får ut crisse6 nu bara på inläggen, jag är inloggad som crisse6, men har bara skrivit 1 inlägg i min egna gb, dom andra är av en annan medlem..

<%
if  request.querystring("userid") <> "" and isNumeric(request.querystring("userid")) then
strFrom = "SELECT t_GB.GBFromID, t_users.userName, t_users.userID " & _
" FROM t_GB right outer JOIN t_users " & _
" ON t_GB.GBFromID = t_users.userID " & _
" where t_users.userID = " & request.querystring("userid")
End IF
set objFrom = objConn.execute(strFrom)
'lite annan html... 
'utskrivning!
%>
<table width="470"><tr><td bgcolor="<%=color%>">
<b>Avsändare:</b> <%=objFrom("userName")%><br>
<b>Skrivet:</b> <%=RS("GBDate")%><br>
<%=RS("GBText")%><br></td></tr></table>
Medlem sedan dec. 20002 526 inlägg
#7

help!

Medlem sedan dec. 20003 887 inlägg
#8

Du använder dig av två recordsets. Varför då?

Jag försöker mig på en gissning till en lösning

strSQL = "SELECT t_GB.GBDate, t_GB.GBText, t_U.userName " & _
         "FROM t_GB " & _
         "INNER JOIN t_users t_U " & _
         "ON t_U.userID = t_GB.GBFromID " & _
         "WHERE t_U.userID = " & Request.QueryString("userid")

Set rsGB = objConn.Execute(strSQL)

Response.Write "<table width=""470"">

While Not rsGB.EOF
  Response.Write "<tr><td bgcolor=" & color & "><b>Avsändare: </b>" & rsGB("userName") & "<br>"
  Response.Write "<b>Skrivet: </b>" & rsGB("GBDate") & "<br>"
  Repsonse.Write rsGB("GBText") & "<br></td></tr>

  rsGB.MoveNext
Wend

Response.Write "</table>"

Det ser ut som om det är så du vill göra, men det är lite lurigt att veta ;)

INNER JOINen som jag använder här innebär att inlägg i gästboken bara får skrivas av dom som har användare...

Medlem sedan dec. 20002 526 inlägg
#9

hmm.... jag använder två st recset's för att jag har paging längre ner, vill du se hela koden kanske? ;)

<%
strOwner = "SELECT t_users.userID, t_users.userName FROM t_users Where t_users.userID = "&session("userID")
strAge = "Select userBorned from t_users"

if  request.querystring("userid") <> "" and isNumeric(request.querystring("userid")) then
strFrom = "SELECT t_GB.GBFromID, t_users.userName, t_users.userID " & _
" FROM t_GB right outer JOIN t_users " & _
" ON t_GB.GBFromID = t_users.userID " & _
" where t_users.userID = " & request.querystring("userid")
End IF
set objOwner = objConn.execute(strowner)
set objAge = objConn.execute(strAge)
set objFrom = objConn.execute(strFrom)
%>
                        <table border="0" cellpadding="4" cellspacing="0" width="100%">
                            <tr>
                                <td width="100%" bgcolor="#EC2E00">
                                    <p><font face="Verdana" color="white"><b><span style="font-size:7pt;"><%=objOwner("userName")%>'s Gästbok</span></b></font></p>
                                </td>
                            </tr>
                            <tr>
                                <td width="274" bgcolor="white">
<%
Dim IntSida, RS, strGB

IntSida = Trim(Request.QueryString("Sida"))
If IntSida = "" Then
IntSida = 1
Else
IntSida = Cint(IntSida)
End If
Set RS = Server.CreateObject("ADODB.Recordset")
strGB = "Select * From t_GB Where GBUserID = "&request.querystring("userID")&" ORDER BY GBDate DESC"
RS.Open strGB, objConn, 1, 3
If RS.EOF = True Then
Response.Write("Inga poster hittades i databasen!<BR>")
Else

RS.PageSize = 10
RS.AbsolutePage = IntSida
End If

If RS("GBRead") = False then
color = "#EFEFEF"
Else
color = "#FFFFFF"
End IF

Do until RS.EOF Or IntAntal >= RS.PageSize
IntAntal = IntAntal + 1
%>
<table width="470"><tr><td bgcolor="<%=color%>">
<b>Avsändare:</b> <%=objFrom("userName")%><br>
<b>Skrivet:</b> <%=RS("GBDate")%><br>
<%=RS("GBText")%><br></td></tr></table>
<%
RS.MoveNext
Loop
response.write "<br>"
If RS.PageCount > 1 Then 
For I = 1 To RS.PageCount 
If I <> IntSida Then 
Response.Write("<A href='private_gb.asp?userID="&request.querystring("userID")&"&Sida=" & I & "'>" & I & "</A> ")
Else 
Response.Write(I & " ")
End If

Next
End If
RS.Close
%>
271 ms totalt · 3 externa anrop · v20260731065814-full.767b4345
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
143 ms — hämta tråd, inlägg och bilagor (db)