Autor Zpráva
Jack06
Profil
Dobrý den. Chtěl bych udělat statistiky na webu (hodnocení fotek videí a tak)

Zájímalo by mě, jak řešit následující problém.. Chtěl bych výpis nějak takto:
(stupnice 1-5)

Hodnocení: 3,5
hodnotili:
Honza 3
Pepa 4
Jarda 3
Zuzka 4
...

Abych věděl jaké má hodnocení a přitom věděl kdo dal jakou známku..
Přemýšlel jsem o dvou polých známky a kdo hodnotil , jen nevím zda je pak dostanu do takovéto podoby jméno známka.. tabulku asi nějak:

CREATE TABLE IF NOT EXISTS `statistiky` (
  `id` int(10) unsigned NOT NULL auto_increment,
  `foto_id` int(10) unsigned NOT NULL,
  `znamky` text collate utf8_czech_ci,
  `znamkoval` text collate utf8_czech_ci,
  PRIMARY KEY  (`id`),
  KEY `foto_id` (`foto_id`),
  KEY `znamkoval` (`znamkoval`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci AUTO_INCREMENT=1 ;
Taps
Profil
Jack06
já bych navrhoval dvě tabulky

uzivatele
-----------
id
nick
heslo
email

znamky
----------
foto_id
znamka
idUzivatele

a tabulky propojit přes left join
Shadowek
Profil
No myslím že takto.Já používám mysql ale ty si to můžeš přepsat.
$sql = "SELECT (*) FROM statistiky";
$dotaz = mysql_query ($sql);
$radku = mysql_num_rows($dotaz);

while ($zaznam=mysql_fetch_array($dotaz)){
$soucet = $soucet + $zaznam['znamky'];
}
$prumer = $soucet / $radku;
echo ($prumer);
while ($zaznam=mysql_fetch_array($dotaz)){
echo "$zaznam['znamkoval'] ':' $zaznam['znamky']"
}

Snad to mám správně nezkoušel jsem to.
EDIT:Jestli jsem správně pochopil tak tabulku jsi měl a šlo ti o tohle?Nebo příspěvek nademnou mě trošku zmátl.
tiso
Profil
Shadowek: „Já používám mysql ale ty si to můžeš přepsat.“ ???
kód: WTF???
Jack06
Profil
Taps
Ano já mám databázi uživatelů :-D
CREATE TABLE IF NOT EXISTS `statistiky` (
  `id` int(10) unsigned NOT NULL auto_increment, // id pro danou statistiku
  `foto_id` int(10) unsigned NOT NULL, // id z tabulky fotek
  `znamky` text collate utf8_czech_ci, // pole (1,5,3,1,1,5) array známek
  `znamkoval` text collate utf8_czech_ci,// pole (1,2,3,4,5,6) array id uživatelů
  PRIMARY KEY  (`id`),
  KEY `foto_id` (`foto_id`),
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci AUTO_INCREMENT=1 ;


Shadowek
Řešíš to poněkud složitě, ale díky
tiso
Profil
Jack06: prečítaj si niečo o návrhu databáz a normálových formách.
Jack06
Profil
tiso
Tím míříš kam?? K tomu že jsem napsal že to řeší Shadowek složitě nebo k návrhu sql??

Shadowek
Šlo mi tak nějak obecně.. jak navrhnout db a příkladně jak z ní tahat dobře info
tiso
Profil
Jack06: tým som narážal na:
...// pole (1,5,3,1,1,5) array známek
...// pole (1,2,3,4,5,6) array id uživatelů
Jack06
Profil
tiso
Pořád nějak nechápu co tím chceš říci..? jak bych měl jinak tvořit pole?? se záznamem v databázi?
tiso
Profil
Jack06: ešte raz si prečítaj [#6] a zariaď sa podľa toho.
Jack06
Profil
tiso
A víš o nějaké stránce kde to je dobře popsané?

//edit ... teď jsem něco četl.. tím co jsipsal jsi myslel že mám vytvořit pro pole další tabulku? tzn jednu hlavní tabulku a další kde pole složím z výpisu x řádků viz:
http://programujte.com/?akce=clanek&cl=2008071900-normalizace-relacnich-databazi
??

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: