Autor | Zpráva | ||
---|---|---|---|
Jack06 Profil |
#1 · Zasláno: 10. 8. 2009, 18:27:07
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 |
#2 · Zasláno: 10. 8. 2009, 19:23:37
Jack06
já bych navrhoval dvě tabulky uzivatele ----------- id nick heslo znamky ---------- foto_id znamka idUzivatele a tabulky propojit přes left join |
||
Shadowek Profil |
#3 · Zasláno: 10. 8. 2009, 19:28:34 · Upravil/a: Shadowek
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 |
#4 · Zasláno: 10. 8. 2009, 20:14:07
Shadowek: „Já používám mysql ale ty si to můžeš přepsat.“ ???
kód: WTF??? |
||
Jack06 Profil |
#5 · Zasláno: 10. 8. 2009, 20:22:06 · Upravil/a: Jack06
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 |
#6 · Zasláno: 10. 8. 2009, 20:26:19
Jack06: prečítaj si niečo o návrhu databáz a normálových formách.
|
||
Jack06 Profil |
#7 · Zasláno: 10. 8. 2009, 20:32:48
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 |
#8 · Zasláno: 10. 8. 2009, 20:38:43
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 |
#9 · Zasláno: 11. 8. 2009, 00:13:00
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 |
#10 · Zasláno: 11. 8. 2009, 00:34:28
Jack06: ešte raz si prečítaj [#6] a zariaď sa podľa toho.
|
||
Jack06 Profil |
#11 · Zasláno: 11. 8. 2009, 11:06:32 · Upravil/a: Jack06
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 ?? |
||
Časová prodleva: 15 let
|
0