Avatar billede zib Nybegynder
03. juni 2005 - 10:55 Der er 16 kommentarer og
1 løsning

hvordan opbygges det

hvor dan laver jeg et intern besked system til mit bruger system

altså hvordan skal min table se ud

brugeren skal kunne slette deres beskeder hvordan laver man det
skal man bruge UPDATE sletindbakke = 'ja'
eller delete from hvad er smartes
Avatar billede sukos Juniormester
03. juni 2005 - 11:06 #1
Jeg har lige lavet noget, sql-dump:

CREATE TABLE `user_mail` (
  `id` int(11) NOT NULL auto_increment,
  `owner` varchar(24) NOT NULL default '',
  `inbox` int(1) NOT NULL default '0',
  `outbox` int(1) NOT NULL default '0',
  `trash` int(1) NOT NULL default '0',
  `laest` int(1) NOT NULL default '0',
  `afsender` varchar(24) NOT NULL default '',
  `to` varchar(24) NOT NULL default '',
  `bc_modtager` text NOT NULL,
  `subject` varchar(255) NOT NULL default '',
  `besked` text NOT NULL,
  `tid` int(11) NOT NULL default '0',
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;

Ved hentning af nye "indbakke" er det de beskeder hvor "inbox" == 1
Ulæste har "laeste" som 1 VEd visning, sættes den så til 0
Når der slettes, slettes der ud fra "id" og "owner"
Avatar billede sukos Juniormester
03. juni 2005 - 11:08 #2
Og det er selvf. kun de rows hvor "owner" == "brugernavn" man kan få vist/slette o.s.v.
Avatar billede zib Nybegynder
03. juni 2005 - 11:12 #3
hvis jeg har forstået det rigtig så sletter man
delete from user_mail WHERE id = $id AND owner = $_GET[username]

hvis nu "bruger1" sender en besked til "bruger2"
"bruger1" har nu beskeden i udbakke
"bruger2" har den nu i indbakke
hvis "bruger1" så slettet den
kan "bruger2" så stadig læse den
Avatar billede zib Nybegynder
03. juni 2005 - 11:15 #4
jeg tror ikke helt jeg er med mit forslag var nemlig

CREATE TABLE `post` (
  `id` int(10) unsigned NOT NULL auto_increment,
  `afsender` varchar(100) NOT NULL default '',
  `modtager` varchar(100) NOT NULL default '',
  `dato` varchar(100) NOT NULL default '',
  `emne` varchar(100) NOT NULL default '',
  `tekst` varchar(100) NOT NULL default '',
  `status` varchar(100) NOT NULL default '',
`sletindbakke` varchar(100) NOT NULL default 'nej',
`sletudbakket` varchar(100) NOT NULL default 'nej',
PRIMARY KEY  (`id`)
) TYPE=MyISAM AUTO_INCREMENT=2 ;
Avatar billede zib Nybegynder
03. juni 2005 - 11:15 #5
glem  status i mit eks
Avatar billede sukos Juniormester
03. juni 2005 - 11:23 #6
hvis nu bruger1 sender en besked til bruger2 kan bruger1 vælge at gemme en kopi i "outbox"

"bruger2" har den nu i indox (værdi == 1) og laest == 1
bruger2 læser den, laest sættes til 0
bruger2 kan slette den, eller flytte den til trash, hvor row så enten fjernes, eller opdateres til inbox == 0 trash == 1

bruger2 kan stadig stadig læse den hvis den ligger i trash, hvorfra den også kan flyttes til inbox

Hvis bruger1 gemmer en kopi af afsendte, vil bruger1 også stadig kunne læse den, videresende m.m.
Avatar billede zib Nybegynder
03. juni 2005 - 11:29 #7
har jeg ret hvis jeg siger at:

så man sletter den ikke fra databasen man updater bare fra trash 0 til 1

så når man skal hente feks alle som er ikke er slettet skal man
select FROM post WHERE trash ='0'



men jeg kan ikke se hvad flg

felt i sql skal bruges til

`owner` varchar(24) NOT NULL default '',  er det ham der ejer hvad?
`laest` int(1) NOT NULL default '0',
`to` varchar(24) NOT NULL default '',
Avatar billede zib Nybegynder
03. juni 2005 - 11:32 #8
men hvis der kun er en trash og "bruger2" updater den til 1
så kan bruger1 hellere kke se den  hans udbakke

eller snakker vi bare forbi hinandnen
Avatar billede sukos Juniormester
03. juni 2005 - 11:37 #9
Hver besked har sit row i db'en
Og kun de beskeder hvor owner er lig med ens brugernavn, kan man få lov at læse.

inbox, outbox, trash sætter "hvor de ligger" i systemet.
Uanset, hvor de ligger, kan de slettes, hvis du er owner!

Vil man gemme en kopi af sendte beskeder, så er man jo "owner" af det row i DB'en
Avatar billede sukos Juniormester
03. juni 2005 - 11:40 #10
laest er for at vise en besked om hvor mange ulæste beskder man har liggende.
Ved læsning opdateres laest til nul

to er den "primære" modtager, og bruges bl.a. ved visning af beskeder man selv har sendt
bc_modtager er evt. andre modtagere af samme besked

Sender man en besked til 10 brugere, vil der blive lavet 10 rows i db'en med præcis samme besked, men med forskellige owner
Avatar billede zib Nybegynder
03. juni 2005 - 11:41 #11
owner så kan der kun være en owner per besked eller?

for hvis det er tilfældet så kan bruger1 jo ikke slette beskeden fra bruger2 fordi bruger1 så står som ejer
Avatar billede sukos Juniormester
03. juni 2005 - 11:44 #12
For hvert row i DB'en, er der en owner!
Og kun den som står som owner, kan slette beskeden

At den samme besked ligger hos flere forskellige brugere, kan jo sagtens lade sig gøre


Det ligger desværre ikke ude lige nu, men kommer det en af dagene
Avatar billede zib Nybegynder
05. juni 2005 - 14:34 #13
tak...!
tror jeg er ved at forstår det mange tak smid et svar tak!
Avatar billede zib Nybegynder
23. september 2005 - 18:12 #14
smider du et svar......?
Avatar billede zib Nybegynder
09. oktober 2005 - 08:12 #15
sukos smid et svar
Avatar billede showsource Seniormester
09. oktober 2005 - 10:15 #16
sukos findes ikke mere!
Avatar billede zib Nybegynder
12. oktober 2005 - 17:42 #17
når okay jamen så lukker jeg jo bare...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester