[ Príspevkov: 11 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 13.03.09
Prihlásený: 11.07.11
Príspevky: 11
Témy: 3 | 3
NapísalOffline : 13.03.2009 9:02 | system mazania sprav

zdravim, mal by som taky problem:

Mam napisany system posielania sprav medzi uzivatelmi (tie sa rozdeluju medzi prijate a odoslane, tiez admin ma moznost poslat spravu vsetkym v danom systeme).

Problem je mazanie. Pri napisani spravy sa INSERTne (okrem ineho) nove id spravy, meno odosielatela a meno prijemcu. Ak vsak napr. tu spravu chce vymazat prijemca, samozrejme vymaze sa aj odosielatelovi a naopak.

Jednym z rieseni by mohol byt nejaky multi INSERT (kde sa do db vlozi ta ista sprava 2x, v jednej s menom odosielatela a v druhej s menom prijemcu), avsak ked admin posiela spravu vsetkym v systeme a ten system obsahuje vela uzivatelov a pre kazdeho by sa vytvarala ta ista sprava... no neviem.

Ako sa to zvykne riesit?


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 04.04.07
Prihlásený: 20.11.17
Príspevky: 531
Témy: 34 | 34
Bydlisko: Bratislava
NapísalOffline : 13.03.2009 9:31 | system mazania sprav

co sa tyka sprav medzi usermi, stacilo by ti, aby si pri kazdej sprave, odoslanej aj prijatej, definoval este 2 stlpce - ci to precital odosielatel a ci to precital prijemca, nic tazke. admin spravy staci pisat jeden krat do tabulky a potom si vytvoris druhu tabulku napr. message_read, kde si das id spravy, id usera, precitana, vymazana. a ked niekto spravu precita, tak insertnes sem novy riadok. a mozes si riadit ci je precitana alebo aj vymazana.


_________________
CPU: AMD Phenom II 940 QUAD X4 BE AM2+, chladic: Arctic Cooling Freezer 64 Pro, RAM: 4GB DDR2 800MHz PC6400, MB: M2N-E SLI, VGA: RX 4870 GAINWARD HD4870 1GB, HDD: WD 1TB, Zdroj: CORSAIR 750W TX
Offline

Správca fóra
Správca fóra
system mazania sprav

Registrovaný: 27.07.07
Príspevky: 3971
Témy: 51 | 51
Bydlisko: Bratislava
Vek: 32
NapísalOffline : 13.03.2009 9:47 | system mazania sprav

nieco podobne, ak nie rovnake, tu uz bolo riesene: http://www.pcforum.sk/post-vp556681.html#556681


_________________
Desktop: CPU: AMD Athlon64 3000+ | MB: Biostar K8T890-A9 | VGA: NVIDIA GeForce 6200 LE 256MB | RAM: 2x 1GB A-DATA DDR 400 MHz Dual Kit | HDD: WD Caviar Blue 320GB | DVD: LG GSA-H10N | Keyboard: Chicony KU-0420 Silver/Black | Mouse: Logitech RX1000 | Zdroj: Corsair CX400 400W | CASE: DELUX DLC-MD370 Black | LCD: 20" Samsung 206BW | Repro: Teac XL-20
Notebook: ACER Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB / Intel HD Graphics | RAM: 4GB DDR3 1066 MHz | HDD: 640GB
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 13.03.09
Prihlásený: 11.07.11
Príspevky: 11
Témy: 3 | 3
Napísal autor témyOffline : 13.03.2009 10:16 | system mazania sprav

tu prvu cast chapem, ok (mam tam este stlpce read a new, ale musim pridat napr. del_sender, del_receiver a pri selecte pridat where podmienku, ok). I ked to neriesi vymazanie tej spravy z db (co je uz iba detail).

co sa tyka tych "broadcastovych" sprav od admina, trosku som si to zjednodusil a povedal som si, ze tie spravy bude moct mazat iba admin :), ale rovnako to neriesi, ci je sprava precitana alebo nie. Zatial to mam tak, ze ked sa takato sprava posle, INSERTne sa do tabulky sprava s prazdnym stlpcom odosielatela a prijemca si potom SELECTne spravy, kde je v stlpci odosielatel ' '. Takze aj ked vytvorim novu tabulku s id spravou, tak ako mam pridat id_prijemcov?


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 04.04.07
Prihlásený: 20.11.17
Príspevky: 531
Témy: 34 | 34
Bydlisko: Bratislava
NapísalOffline : 13.03.2009 10:35 | system mazania sprav

nechapem co presne chces. ak chces riesit ze ta sprava bude iba pre urceny okruh ludi, tak bude najlepsie kazdeho usera zaradit do nejakej skupiny a pri spravu zapisat pre ktoru skupinu je urcena.
ako som spominal, ked bude ta admin sprava pre vsetkych, tak najprv pozries ci sa nachadza v tabulke message_read id spravy s id prihlaseneho usera, podla toho zobrazis.


_________________
CPU: AMD Phenom II 940 QUAD X4 BE AM2+, chladic: Arctic Cooling Freezer 64 Pro, RAM: 4GB DDR2 800MHz PC6400, MB: M2N-E SLI, VGA: RX 4870 GAINWARD HD4870 1GB, HDD: WD 1TB, Zdroj: CORSAIR 750W TX
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 13.03.09
Prihlásený: 11.07.11
Príspevky: 11
Témy: 3 | 3
Napísal autor témyOffline : 13.03.2009 12:38 | system mazania sprav

ok, tu prvu zalezitost som vyriesil.

K tej druhej. V podstate je jedno, ci sa posiela skupine alebo vsetkym, lebo v stlpci "receiver" nie je konkretny prijemca ale skupina (v mojom pripade prazdna bunka).
Ja prave nechapem tej novovytvorenej tabulke s id spravy, id prijemcu. Cize ak sa posiela "broadcast" sprava, ta sa INSERTne do novej tabulky s id spravy a read=0. Ked si uzivatel spravu precita, INSERTne sa novy riadok s tym id spravy, id prijemcu a read=1? asi tak ako si pisal vyssie :)

otazka je ako by vyzeral taky SELECT...


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 04.04.07
Prihlásený: 20.11.17
Príspevky: 531
Témy: 34 | 34
Bydlisko: Bratislava
NapísalOffline : 13.03.2009 12:50 | system mazania sprav

ee, takto: mas 2 tabulky - message a message_read. ked admin hodi spravu, tak sa insertne do tabulky message, kde sa iba ulozi sprava do stlpcov ako id, subject, body, moze byt aj active. active bude sluzit na to, ci sa sprava ma zobrazovat alebo nie.
potom ked si user spravu precita, tak insertnes do tabulky message_read id, id spravy a id usera.
potom ked budes robit select sprav pre prihlaseneho, tak z tabulky message, ktoru joines na message:read a pozries, ci si uz user spravu precital. hadam to uz chapes.


_________________
CPU: AMD Phenom II 940 QUAD X4 BE AM2+, chladic: Arctic Cooling Freezer 64 Pro, RAM: 4GB DDR2 800MHz PC6400, MB: M2N-E SLI, VGA: RX 4870 GAINWARD HD4870 1GB, HDD: WD 1TB, Zdroj: CORSAIR 750W TX
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 13.03.09
Prihlásený: 11.07.11
Príspevky: 11
Témy: 3 | 3
Napísal autor témyOffline : 13.03.2009 13:00 | system mazania sprav

teraz je to jasne, dik za tvoj cas :)


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 13.03.09
Prihlásený: 11.07.11
Príspevky: 11
Témy: 3 | 3
Napísal autor témyOffline : 13.03.2009 20:34 | system mazania sprav

zacal som to pisat a prisiel som na to, ze to az take idealne riesenie nie je.
User klikne na spravu a vznika problem, lebo musi nasledovat nejaky SELECT s podmienkou, kde by sa mal vyberat stlpec s id_message (ktory je znamy) ale aj id_message_read (ktory ale vznikne az po INSERTe a user ho nema ako zistit). Ak sa nepouzije select, tak sa bude donekonecna insertovat riadok, ze ta sprava bola precitana. Alebo som prepracovany a rozmyslam zle?

mozno by isiel nejaky multi INSERT, pri novej hromadnej sprave by sa v druhej tabulke vytvorilo tolko riadkov, kolko je uzivatelov a do kazdeho riadku by sa vpisalo meno prijemcu. To ale neviem ako.


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 04.04.07
Prihlásený: 20.11.17
Príspevky: 531
Témy: 34 | 34
Bydlisko: Bratislava
NapísalOffline : 13.03.2009 22:55 | system mazania sprav

nechapem co ti vadi, pretoze mne to takto funguje. ved ked raz insertnes ze to precital, preco by sa to malo dokola robit? a ked chces nahodou zistit ID insertnuteho radku, tak sa to da hned po inserte s mysql_insert_id().


_________________
CPU: AMD Phenom II 940 QUAD X4 BE AM2+, chladic: Arctic Cooling Freezer 64 Pro, RAM: 4GB DDR2 800MHz PC6400, MB: M2N-E SLI, VGA: RX 4870 GAINWARD HD4870 1GB, HDD: WD 1TB, Zdroj: CORSAIR 750W TX
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 13.03.09
Prihlásený: 11.07.11
Príspevky: 11
Témy: 3 | 3
Napísal autor témyOffline : 16.03.2009 11:04 | system mazania sprav

ja skor rozmyslam nad tym SELECTom, zatial mi furt zapocitava aj tu adminovsku spravu. Neviem presne ako pisat selecty pri nejakych zavislostiach.


 [ Príspevkov: 11 ] 


system mazania sprav



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy.

Zákaz mazania odkazov

v Operačné systémy Microsoft

1

143

21.09.2011 21:10

hitman22255

V tomto fóre nie sú ďalšie neprečítané témy.

Zakázanie mazania historie v Google Chrome?

v Ostatné programy

0

454

03.11.2012 11:17

dendoo

V tomto fóre nie sú ďalšie neprečítané témy.

Poradie sprav

v Redakčné systémy

7

340

02.12.2006 19:56

JanoF

V tomto fóre nie sú ďalšie neprečítané témy.

Outlook - zobrazenie správ

v Sieťové a internetové programy

0

185

02.12.2010 15:44

schevka

V tomto fóre nie sú ďalšie neprečítané témy.

zaloha sprav - Thunderbird

v Ostatné programy

2

927

16.08.2008 10:27

oaki

V tomto fóre nie sú ďalšie neprečítané témy.

Vyber poslednych sprav

v Databázy

7

322

25.03.2012 11:12

stenley

V tomto fóre nie sú ďalšie neprečítané témy.

tok systémových správ

v Operačné systémy Microsoft

2

209

19.01.2010 23:02

Tech

V tomto fóre nie sú ďalšie neprečítané témy.

posielanie sprav cez lan

v Sieťové a internetové programy

2

1159

18.05.2010 17:25

fista1

V tomto fóre nie sú ďalšie neprečítané témy.

Kritika webu - centrum správ

v Webdesign

8

582

24.10.2010 21:02

pa3ick

V tomto fóre nie sú ďalšie neprečítané témy.

Thunderbird a citanie sprav

v Sieťové a internetové programy

1

132

06.08.2010 10:44

KatjushaMan

V tomto fóre nie sú ďalšie neprečítané témy.

Prenesenie/záloha SMS správ

v Smartfóny a tablety

2

232

03.05.2013 21:22

Spirit of the Hawk

V tomto fóre nie sú ďalšie neprečítané témy.

Presúvanie správ v phpBB

v Redakčné systémy

4

368

21.08.2007 1:10

Dolmayan

V tomto fóre nie sú ďalšie neprečítané témy.

Odosielanie správ v QIP Infinium

v Sieťové a internetové programy

4

649

30.06.2008 17:56

Crystalis

V tomto fóre nie sú ďalšie neprečítané témy.

Strata sprav v Outllok Express

v Sieťové a internetové programy

4

267

02.02.2009 19:23

dsljohn

V tomto fóre nie sú ďalšie neprečítané témy.

pocet neprecitanych sprav bez refreshu

v JavaScript, VBScript, Ajax

7

269

23.08.2009 12:05

pogo

V tomto fóre nie sú ďalšie neprečítané témy.

Zmazanie histórie správ na facebooku

v Sociálne siete

4

3565

07.04.2013 13:30

XOLOO



© 2005 - 2017 PCforum, edited by JanoF