Har sökt lite här i wF om join, får dock inte det jag vill att fungera. Jag har omstrukturerat min databas lite. Har en tabell som heter users där jag sparar alla uppgifter om medlemmarna. Sen i de övriga tabellerna, guestbook, messages, forum osv sparar jag bara användarens id som gjort posten.
Nu till problemet: Jag vill koppla ihopp tabellerna. Hör hört talas om att jag ska använda begreppet Join.
Jag tror ni fattar vad jag menar. Någon som har lust att hjälpa mig.
ps. Sorry för att jag frågar så mkt :D
Alltså du vill plocka ut inlägg i ex. gästboken för ex. användar-id 1200?
så här har jag gjort, istället för att använda join!
SQL="SELECT * from tabellnamn WHERE column=" & AnvID & ""
Ja ungefär. Fast i tabellen guestbook har jag ju gästboksinlägget och ID:et från den medlem som gjort inlägget.
Så jag måste koppla ihopp två tabeller.
det du kan göra är att du har en extra column i gusetbook, typ PID som är den användare som äger gästboken!
Så när de går till sin gästbok,
AnvID = Request.Cookie("AnvID")
SQL = "SELECT * from guestbook WHERE PID=" & AnvID & ""
Eller någe sådant!!! =)
Nej.. Vill inte använda cookies. Är nästan säker på att det går att lösa på ett bättre sätt.
Jag tror jag vet vad du menar har själv byggt communitys förr.
Vi säger att din medlems Tabell heter "Usr", Och Medlems Id är "usr_id".
Gästboken heter "gst". I gästboken måste du ha följande fält.
gst_id 'räknare 'inlägg id:t
gst_usr_id ' nvarchar eller textfält, kan vara int om du använder nummer ' Talar om vad ägarens id är
gst_author_usr_id 'nvarchar eller textfält, kan vara int om du använder nummer ' Talar om vilken medlem som skrivit i din gästboken
gst_message ' Text eller nText själva meddelandet
gst_date ' Datum ' När inlägget skrevs.
Usr:
usr_id ' medlems id:t
usr_nick 'medlemens nickname
Du skickar medlems id:t till .asp?id=[id:t]
Om du tittar i sql satsen så får du skriva ' ' om det skall vara en sträng eller ta bort ' ' runtom strGuest id om det är tal du har i din räknare.
[red]
Dim strSql, Rs, Conn, strSession, strGuestid
Function FixChars(strFix)
FixChars = Replace(strFix,"'","''")
End Function
// Conn = DatabasKoppling
strGuestid = FixChars(Request.Querystring("id"))
strSql = "Select * From usr,gst where gst_usr_id = '"& strGuestid &_
"' and gst.gst_usr_id = usr.usr_id order by gst_date desc"
Set Rs = Conn.Execute(strSql)
Do Until Rs.Eof
Response.Write "Från: "&Rs("usr_nick")&" Skickat: "&Rs("gst_date") &_
"<br>"&Rs("gst_message")&"<br><hr><br>"
Rs.MoveNext
Loop
[/red]
OBS! Det kan finnas fel i koden jag har inte testat den. Men du ser hur jag har lagt upp det.
Ett tips är att söka på paging så hittar du hur du kan dela upp sök resultaten så det blir 10 för varje sida.
Men ett tips använd inte RecordSet då det oftast slöar ner.
Man kan göra paging utan det
Nej.. Vill inte använda cookies. Är nästan säker på att det går att lösa på ett bättre sätt.
Så klart det går, sessioner! :e
Hur som helst måste du ha en column för användaren och en för besökaren! Annars blir det konstigt! :OO
TobbsterMedlem sedan mars 2001309 inlägg Om du vissar din databas struktur så kan vi nog hjälpa dig med SQL frågrna.
Men det här inlägget borde vara i SQL forumet.
Ampy hjälpde mig! Fick till det.
<%
sql = "select t1.*, t2.* from users t1 inner join logins t2 on t1.id = t2.fromid order by 1 desc"
%>
Går det att lägga till Count i koden. Ampy var tveksam om det gick.
Engine^Medlem sedan dec. 20003 887 inlägg Gissar på att du stoppar svaret i ett RecordSet och då kan du ju använda dig utav .RecordCount för att få veta hur många rader frågan gav.