Zdravím.
Neřešili jste už někdo možnost šeptání v diskuzi? Hledám inspiraci jak ho, pokud možno elegantně, zakomponovat...
Napadlo mě ukládat do sloupce k příspěvku ID uživatelů, kterým se má daný příspěvek zobrazit, oddělené například středníkem a při vypisování ty hodnoty rozdělit do pole a zkontrolovat, jestli je tam i ID přihlášeného uživatele. Pokud by bylo, příspěvek by se vypsal, jinak by se přeskočil, ale podle člověka, se kterým na té diskuzi pracuju, to není nejlepší řešení a je pravda, že by tak mohly vznikat ,,prázdné" stránky plné příspěvků, které by viděli pouze určití uživatelé.
Další nápad (tentokrát už ne můj) byl generovat tabulku pro příspěvky (každá část diskuze bude mít vlastní tabulku pro obecné informace a příspěvky) podle počtu lidí zúčastňujících se dané diskuze (tento počet se od založení diskuze většinou nemění). Tak by každý uživatel měl ,,svůj sloupec" v tabulce k příspěvkům a z db by se pak vybíraly pouze příspěvky, u kterých má tento sloupec hodnotu 1. Tohle řešení pro změnu nepřipadá elegantní mně...
Pravdou je, že nevím, které řešení je lepší, a že nic dalšího se mi nepodařilo vymyslet či najít. Děkuji za jakoukoli Vaši připomínku, nápad, anebo, v nejlepším případě, osvědčené řešení.
Fórum › MySQL
Šeptání v diskuzi
Jestli sem to pochopil spravne, tak mate nejakou diskuzi, do ktere muze kazdy verejne psat a zaroven ma moznost poslat nejaky vkaz do te diskuze pouze urcite osobe, takze si ji muze precist jen ona a ne nikdo jiny.
Nevim, jak to mate momentalne navrhnte (celkove mi to prijde takove nestastne, nebyly by lepsi klasicky PM?), ale kdyz uz bych to resil, tak jak to potrebujete vy, tak bych si udelal asi takovou tabulku:
id_prispevek, id_diskuze, id_prispevovatel, id_adresat, text
Pri vkladani verejneho prispevku by se jako id_adresat zvolila nejak specialni hodnota (napr. -1) nebo id, komu se septa a při vypisovani diskuze bych vypisoval prispevky, kde id_adresat == -1 OR id_adresat == id_prihlaseneho_uzivatele
To dannyk : asi jsem se nevyjádřil úplně správně. Je diskuze, do které může přispívat x uživatelů, nikdo jiný. Tito uživatelé můžou psát veřejné příspěvky, anebo příspěvky šeptané, které můžou ,,poslat" jedné - xté osobě (s jedním sloupcem id_adresat by se tak příspěvek musel vkládat několikrát) a tento příspěvek by měl být součástí diskuze, proto PM nejsou řešení, které potřebujeme.
Přibližný návrh tabulek je takový: (ještě pořád se mění)
tabulka_uzivatele
ID, jmeno, (dalsi udaje)
tabulka_diskuze_prispevky
ID, ID_autor, text, (dalsi udaje) + sloupec/sloupce vztahující se k šeptání
1, Tem vice radkum se stejnym ID se nevyhnete, tak to proste musi byt.Tedka akorat rozhodnout, co bude vyhovovat nejvice.
Resenim je udelat si spojovaci tabulku adresat:
tabulka_adresat
ID, ID_uzivatel, ID_prispevek
V teto tabulce by byly ulozene veskere septaci odkazy na prispevky.Takze treba:
ID:1 ID_A: 2 ID_P:3
ID:2 ID_A: 3 ID_P:3
ukazuje, ze uzivatelum s ID 2 a 3 se ukaze prispevek s ID 3 atd.
Ono je to vlastne to same, co sem navrhoval v predchozim prispevku, ale tohle je vice spravne reseni, protoze se odstrani duplicity jinych dat v te tabulce.
Tohle me tedka tak v rychlosti prislo jako asi nejoptimalnejsi reseni.Mozna vas to nakopne a vymyslite jeste neco lepsiho.
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
ČTĚTE: Informace v diskuzi. — založil survik1
Příspěvky na fóru/v diskuzi - vlastnictví — založil yaqwsx
Návrh nového vzhledu výpisu diskuzí — založil Curo
Jak na diskuzi s vlakny na www stránkách? — založil Kraken
Pomoc s výpočtem příkladů - online — založil Martin
Moderátoři diskuze