Autor Zpráva
davef6
Profil
Dobrý den,

mám takový dotaz......na stránkách mi funguje posílání vzkazů jako třeba na lide.cz a chtěl bych se zeptat jak řešit hromadný vzkaz? jestli to jde jinak než do databáze uložit dalších 10 000 řádků se vzkazem pro každého zvlášť. Podmínkou je aby si ten vzkaz mohl každý uživatel smazat.

děkuji za odpovědi
Rampa.MC.Quack
Profil *
to je blbost asi.............................


Nevim...když už..tak ................ napadlo mě udělat zvlášť tabulku se vzkazama


ID......VZKAZ




a potom jenom u každýho uživatele mít ve sloupci jestli ho má smazaný nebo ne
Kcko
Profil
Bud tak jak rikas nebo si udelas dalsi 2 tabulky

Hromadne_Zpravy
------------------------
ID | text | nadpis | datum


Info_hromadnych_zprav
a sem si budes ukladat kdo si zpravu precetl a smazal
takze

ID_hromadne_zpravy | id_uzivatele | precetl | smazal


Tak nejak.. taky me nic lepsiho nenapada
klingac
Profil
ja by som to urobil asi takouto strukturou:
CREATE TABLE users (
  users_id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
  users_name VARCHAR NULL,
  users_surname VARCHAR NULL,
  users_login VARCHAR NULL,
  users_password VARCHAR NULL,
  PRIMARY KEY(users_id)
)
TYPE=InnoDB;

CREATE TABLE message (
  message_id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
  users_id INTEGER UNSIGNED NOT NULL,
  content TEXT NULL,
  PRIMARY KEY(message_id),
  INDEX message_FKIndex1(users_id),
  FOREIGN KEY(users_id)
    REFERENCES users(users_id)
      ON DELETE CASCADE
      ON UPDATE CASCADE
)
TYPE=InnoDB;

CREATE TABLE message_has_users (
  message_id INTEGER UNSIGNED NOT NULL,
  users_id INTEGER UNSIGNED NOT NULL,
  PRIMARY KEY(message_id, users_id),
  INDEX message_has_users_FKIndex1(message_id),
  INDEX message_has_users_FKIndex2(users_id),
  UNIQUE INDEX message_has_users_unique(message_id, users_id),
  FOREIGN KEY(message_id)
    REFERENCES message(message_id)
      ON DELETE CASCADE
      ON UPDATE CASCADE,
  FOREIGN KEY(users_id)
    REFERENCES users(users_id)
      ON DELETE CASCADE
      ON UPDATE CASCADE
);


v tabulke USERS su uzivatelia, v tabulke messages su spravy. tieto dve tabulky su v relaci 1:n (1 uzivatel moze vytvarat n sprav) a zaroven pomocou tabulky message_has_users relaci n:m. v poslednej menovanej tabulke sa uklada users_id adresata a message_id spravy. sprava je tak v db ulozena iba raz a pri zmazavani sprav adresatmi sa vymazavaju iba riadky v tabulke message_has_users s user_id adresata
davef6
Profil
díky všem:)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0