Autor Zpráva
xyfonal
Profil *
Zdravím,
chtěl bych vytvořit tabulku, kde se budou ukládat hodnoty k uživateli. Příklad: uživatell s ID 3 si otevřel článek 1,2,3,5 - to se uloží do db. Jak bych měl navrhnout tabulku a kterým příkazem vypíšu, který články si už otevřel? Děkuji za každou radu.
Alphard
Profil
V principu stačí dva sloupce, id_uzivatele a id_clanku. Já jsem zvyklý dávat i třetí sloupec s id auto_increment jako primární klíč, ale není to nutné (za předpokladu, že je kombinace uživatel + článek unikátní, i kdyby si uživatel článek zobrazil vícekrát).
Přečtené články se pak vyfiltrují pomocí where id_uzivatel = #id#.
xyfonal
Profil *
Pokud jsem to dobře pochopil, tak si vytvořím dva sloupce. id_uzivatel a id_clanku. Pokud použiji příklad nahoře, tak pro vložení do db použiji toto:

mysql_query("INSERT INTO statistika (id_uzivatele, id_clanku) 
  VALUES ('3', '1,2,3,5')

Přečtené články vyfiltruji pomocí where id_uzivatel = #id#.... A ted si nejsem jist, jak udělat podmínku pro kontrolu.

if (clanek = ???) {
echo 'tento clánek jste jiz cetl';)}

else {
echo 'tento článek jste ještě nečetl'}
Alphard
Profil
Ne, pro každý pár ideček nový řádek.

INSERT INTO statistika (id_uzivatele, id_clanku) VALUES (3, 1), (3, 2), (3, 3), (3, 5)
xyfonal
Profil *
Že mě to nenapadlo dřív. Díky moc, už asi vím jak na to. :)

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: