Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 11 ] 
AutorSpráva
Offline

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

Registrovaný: 13.03.09
Prihlásený: 17.02.21
Príspevky: 11
Témy: 3
Príspevok NapísalOffline : 13.03.2009 9:02

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ý: 27.06.21
Príspevky: 532
Témy: 35
Bydlisko: Bratislava
Príspevok NapísalOffline : 13.03.2009 9:31

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: 3948
Témy: 51
Bydlisko: Bratislava
Príspevok NapísalOffline : 13.03.2009 9:47

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







_________________
NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE
Offline

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

Registrovaný: 13.03.09
Prihlásený: 17.02.21
Príspevky: 11
Témy: 3
Príspevok Napísal autor témyOffline : 13.03.2009 10:16

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ý: 27.06.21
Príspevky: 532
Témy: 35
Bydlisko: Bratislava
Príspevok NapísalOffline : 13.03.2009 10:35

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ý: 17.02.21
Príspevky: 11
Témy: 3
Príspevok Napísal autor témyOffline : 13.03.2009 12:38

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ý: 27.06.21
Príspevky: 532
Témy: 35
Bydlisko: Bratislava
Príspevok NapísalOffline : 13.03.2009 12:50

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ý: 17.02.21
Príspevky: 11
Témy: 3
Príspevok Napísal autor témyOffline : 13.03.2009 13:00

teraz je to jasne, dik za tvoj cas :)


Offline

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

Registrovaný: 13.03.09
Prihlásený: 17.02.21
Príspevky: 11
Témy: 3
Príspevok Napísal autor témyOffline : 13.03.2009 20:34

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ý: 27.06.21
Príspevky: 532
Témy: 35
Bydlisko: Bratislava
Príspevok NapísalOffline : 13.03.2009 22:55

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ý: 17.02.21
Príspevky: 11
Témy: 3
Príspevok Napísal autor témyOffline : 16.03.2009 11:04

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


Odpovedať na tému [ Príspevkov: 11 ] 


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

365

21.09.2011 21:10

hitman22255 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Zakázanie mazania historie v Google Chrome?

v Ostatné programy

0

932

03.11.2012 11:17

dendoo Zobrazenie posledných príspevkov

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

v Redakčné systémy

7

576

02.12.2006 19:56

JanoF Zobrazenie posledných príspevkov

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

v Databázy

7

536

25.03.2012 11:12

stenley Zobrazenie posledných príspevkov

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

357

19.01.2010 23:02

Tech Zobrazenie posledných príspevkov

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

v Ostatné programy

2

1161

16.08.2008 10:27

oaki Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Outlook - zobrazenie správ

v Sieťové a internetové programy

0

404

02.12.2010 15:44

schevka Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Prenesenie/záloha SMS správ

v Smartfóny a tablety

2

480

03.05.2013 21:22

Spirit of the Hawk Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Presúvanie správ v phpBB

v Redakčné systémy

4

525

21.08.2007 1:10

Dolmayan Zobrazenie posledných príspevkov

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

v Sieťové a internetové programy

2

1488

18.05.2010 17:25

fista1 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Kritika webu - centrum správ

v Webdesign

8

807

24.10.2010 21:02

pa3ick Zobrazenie posledných príspevkov

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

v Sieťové a internetové programy

1

282

06.08.2010 10:44

KatjushaMan Zobrazenie posledných príspevkov

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

v Sieťové a internetové programy

4

415

02.02.2009 19:23

dsljohn Zobrazenie posledných príspevkov

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

v JavaScript, VBScript, Ajax

7

427

23.08.2009 12:05

pogo Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Zmazanie histórie správ na facebooku

v Sociálne siete

4

4458

07.04.2013 13:30

XOLOO Zobrazenie posledných príspevkov

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

799

30.06.2008 17:56

Crystalis Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra