Hej
Hur ska man göra en grejj så medlemmar kan skicka snabbmess till varann?
Måste man ha ngt spec.?
hur gör jag för att fixa detta, sen måste man ju glra ngt som kollar vid varje inloggning om an har ngra fler mess.
Tack
17 svar · 529 visningar · startad av MickeA.com
Hej
Hur ska man göra en grejj så medlemmar kan skicka snabbmess till varann?
Måste man ha ngt spec.?
hur gör jag för att fixa detta, sen måste man ju glra ngt som kollar vid varje inloggning om an har ngra fler mess.
Tack
När man uppdaterar webläsaren så kollar ett skript om man har något nytt meddelande.
sql = "SELECT messageread FROM messages WHERE sendto = '" & username & "'"
Set rsMessages = Server.CreateObject("ADODB.Recordset")
rsMessages.Open sql, conn, 3, 3
dim newcount,rsMessages
newcount = 0
if not rsMessages.EOF then
rsMessages.Movefirst
do until rsMessages.EOF
if rsMessages("messageread") = False then
newcount = newcount + 1
end if
rsMessages.Movenext
loop
rsMessages.Movefirst
end if
har du gjort nagonting alls eller sitter du fran skratch?
Jag?
Har int3e börjat me't än, bara undrar.
Det knäppa blir att ändra allt, för det ska bli flashvänligt.
Men får titta lite närmare på't.
Ngn mer som har bra tips?
Eftersom jag precis hackat ihop ett kan jag bidra med tabellstrukturen. :)
#
# Table structure for table 'pm'
#
CREATE TABLE `pm` (
`pm_current_id` int(11) NOT NULL default '0',
`pm_from_uid` int(11) NOT NULL default '0',
`pm_from_folderId` int(11) NOT NULL default '0',
`pm_from_deleted` tinyint(1) NOT NULL default '0',
`pm_from_status` tinyint(1) NOT NULL default '1',
`pm_to_uid` int(11) NOT NULL default '0',
`pm_to_folderId` int(11) NOT NULL default '0',
`pm_to_deleted` tinyint(1) NOT NULL default '0',
`pm_to_status` tinyint(1) NOT NULL default '1',
PRIMARY KEY (`pm_current_id`),
KEY `pm_id` (`pm_current_id`),
KEY `pm_from_uid` (`pm_from_uid`),
KEY `pm_to_uid` (`pm_to_uid`)
) TYPE=InnoDB;
#
# Table structure for table 'pm_mess'
#
CREATE TABLE `pm_mess` (
`pm_id` int(11) NOT NULL auto_increment,
`pm_mess` text NOT NULL,
`pm_subject` varchar(150) NOT NULL default '',
`pm_date` datetime NOT NULL default '0000-00-00 00:00:00',
`pm_from_ip` varchar(20) NOT NULL default '',
KEY `pm_current_id` (`pm_id`)
) TYPE=InnoDB;
#
# Table structure for table 'pm_folders'
#
CREATE TABLE `pm_folders` (
`folder_id` int(11) NOT NULL auto_increment,
`folder_name` varchar(25) NOT NULL default '',
`folder_user_id` int(11) NOT NULL default '0',
PRIMARY KEY (`folder_id`)
) TYPE=InnoDB;
Allt det hgär säger inte mig så mkt', men principen borde ju vara att man lägger till TVÅ kolumner i db'n. Man skickar ett mess sparas det i K "pm", datumet sätts även.
Sen SELECT TOP 1 FROM pm.. ngnting kör man varje gång ngn loggar in, för att kolla nya kmess.
Det svåra blir att skicka ett mess, sen göra så det kommer fram direkt, om den adnra anv. är oonline, där tappar jag bort mig själv totqlt ; )
Det är ju bara att kontrollera på varje sida i databasen om ett nytt meddelande finns. Precis som Jesper Ts kod här ovan.
Ok, sen är det bara det roliga kvar sen då, att få över alles im Flash bitte ; ))
Kan du inte sen visa den kod som den ser ut när den är anpassad till Flash?
Skulle vara kul att se hur det ser ut.
det är alltså ingen större skillnad, bara att du skriver ut variabler poå lite annorlunda sätt, det jobbigaste med flash / asp blandning är det man måste göra extra i flash, det är frameloops och massa annat. Det är egentligen inte svårare o blanda in flqash, bara omständigare, fast personligen tycker jag att det även blir mkt snyggare, så det är värt besväret ; )
Det står still i huvvet, har ingen kod överhuvudtaget och inga idéer. Kanske det kan ligga en frameloop o bakgrunden som hela tiden laddar in samma sciript, som kollar om ngra nya mess finns, ngn som har ngra bra idéer, fler än dom dsom redan finns här?
Ok, då är till och med jag med. :)
Hade det varit en vanlig sida hade jag gjort som här på forumet, att om man laddar om sidan eller surfar vidare så kommer messet. Att ha en sida som uppdaterar sig själv bara för att man eventuellt kan ha fått ett mess tycker jag verka r vara direkt överkurs såvida det inte handlar om en ren chatt.
Nä, man ska alltså kunna skicka ett mess till en annan användare, när denna användare loggar in startar en loop, som hela tiden laddar in ett script, om och om igen, alltså en loop.
den ska på ngt sätt känna av om det finns ngt nytt pm i databasen, till vem detta pm ska till och sen skriva ut detta om till användaren.
HAr du ngra idéer på script`?!
Du verkar ha koll på asp.
Jag tycker att du ska göra som Jesper T skriver: http://www.webforum.nu/showthread.php?s=&postid=610320#post610320
Jag tycker du gör fel om du kör en loop hela tiden. Jag tycker/tror att det tar onödigt med kraft om det bara är så att man kanske får ett mess någon gång ibland.
Men du gör som du vill.
Ska du uppdatera hela tiden är det väl kanske bara att tex låta ett javascript uppdatera sidan, eller hur man nu gör i flash(?) för därmed kör du ju databaskollen om och om igen.
En Idé...
Loopen jag pratar om, kommer ske i flash, man läggaer loopen mellan tre frames (bildrutor), nu vet jag inte hur pass insatt du är i flash, men:
//Frame1
loadVariables("scriptet.asp", _root, "POST");
Sätter sedan två olika variablar i aspkoden, som skicas in i flash via en ifsats.
//Frame2
if(nytt_mess == "ja"){
gotoAndStop("ladda_messet");
}else If(nytt_mess == "nej"){
'loopa igen;
}
//Frame3
gotoAndPlay(_currentframe-1);
Så hade jag tänkt bygga upp det hela.
Ifsatsen i aspkoden jag prataqde upp lite högre upp, ska kolla varje gång OM ngt nytt mess kommit.
Nu har jag funderat lite till, kan niog lösa det här iaf.
MEN...
Kan ni som är haj på asp (riktigt hajj) komma med lite tips om hur själva kollen ska gå till?
Typ;
<%
massa dbkopplingar...
strSQL = "SELECT pm, datum FROM anv_data WHERE ID=" & id
if NOT oRec.EOF Then
Response.Write("&nytt_mess=ja")
Response.Write("&datum=" & oRec("datum"))
Response.Write("&mess=" & oRec("pm")
else
Response.Write("&nytt_mess=nej")
End If
Kan detta vara ngt?!
Kommer min idé överhuvudtaget vara genomförbar?
Det här är alltså bara en tanke...
Det där tycker jag ser bra ut, ganska likt den kod Jesper redan postat.
Testa.
JAha, ok, jag fattade inte så mkt av koden han postade´, så därför knåpadew jag ihop min egna.
MEn säger du det så ; )
Ska prova, Tack så mkt