lic *klic
Příspěvky odeslané z IP adresy 2001:718:2601:1f7:dc3e:49...–
ondrej390 - "z této entity entitu silnou, vzhledem k tomu, že jednoznačný identifikátor vztahu film <-> herec je vždy id filmu a id herce". Jestli myslis to, ze pridala k propojovaci tabulce id, tak ja se k ni pridavam. :) Pro mazani konkterniho propojeni nebo jeho zmeny je rychlejsi hledat podle id nez podle kombinace dvou id. Ale i to lze a neco malo by se tim asi usetrilo mista. Ten lic stejne asi budes vytvaret pro selecty a pod.
Taky si myslim, ze ti schazi zakladni znalosti :) V prispevku #63 jsem se ti to pokusil naznacit stukturu tabulek.
uzivatele
- id_uzivatel (autoincrement int)
- jmeno (varchar)
- id_mesto (int)
mesta
- id_mesto (autoincrement int)
- mesto (varchar)
Neni to podminkou, ale...
- je dobre, kdyz id zacina slovem id_ (osobne radeji pouzivam id_nazev nez idNazev)
- je dobre, kdyz id se ve vsech propojenych tabulkach jmenuje stejne (pak jednoznacne vis, ze to je asi propojene, kdyz to zacina jako id; a taky to pak propojujes podle shody klice/indexu b.id_mesto=a.id_mesto a nevypada to pak, ze propojujes dve rozdilne tabulky)
- je dobre mit vsechna id na zacatku tabulky (kvuli rychlosti)
Takze, kdyz sem prijdes s tim, ze mas tabulku vypis, kde mas jasne id indexy a nejmenuje se to id, tak je to dost chaoticke, protoze v te dalsi tabulce pak mas film urcene pro text, nazev filmu a herec pro nazev herce
CREATE TABLE IF NOT EXISTS `vypis` (
`film` int(11) DEFAULT NULL,
`herec` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `vypis` (
`id` int(11) NOT NULL AUTO_INCREMENT, -- a tohle id mozna take upotrebis, jak psala smiesek (kdyz slovensky je to smiesik :) jestli neni mysleno neco jineho)
`id_film` int(11) DEFAULT NULL,
`id_herec` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Propojeni tech tabulek mas pak jasne, ne?
film
- id_film (autoincrement int)
- film (varchar)
herec
- id_herec (autoincrement int)
- herec (varchar)
filmy_herci
- id_film (int)
- id_herec (int)
Obsah tabulek, napriklad
film
1, 'Ally McBeal'
2, 'Charlieho andílci'
3, 'Terminator'
4, 'Kill Bill'
5, 'Jak proste'
herec
1, 'Arny svarcik'
2, 'Lucy Liu'
3, 'Pavel Zednicek'
filmy_herci
1, 2 - Ally McBeal, Charlieho Andílci, Kill Bill + lucy liu
2, 2
4, 2
3, 1 - terminator + svarcik
5, 2 - Jak proste + lucy liu
1. Dal by se ten formular nacitat jako zvlast kod pomoci ajaxu.
google = javastript ajax / httprequest / jquery
2. Dal by se ten formular zobrazit do <iframe>
3. Ten formular muzes odeslat s hidden inputem nebo v navratovem kodu pridat do adresy nejaky parametr, na ktery se chyti javascript. header('location:...?a=123&b=456')
http://peter-mlich.wz.cz/…et-vars.html
4. Muzes k html formulari pridat js, ktery provede otevreni menu.
<form>...</form> - pred kliknutim na odeslat
<form>...</form> <script>otevriMenu(5);</script> - po kliknuti na odeslat prida php js kod.
5. Muzes ulozit cookies, na kterou opet zareaguje js
http://peter-mlich.wz.cz/…cookies.html
Jestli ani jedna moznost nevyhovuje, tak napis, treba mne napadne neco dalsiho. Pripadne zkus google v souvislosti s tim pluginem a joomlou.
Violet - Php 5 je mnohem bezpecnejsi. Lze tedy rici, ze celou tu dobu, od roku 2004, do ted, jsou ty servery neduveryhodne, nezabezpecene. Kdyby tomu uzivatele rozumneli, jiste by chteli odskodneni.
Navic, uz ted lze rici, ze je php 5 zastarale, protoze se blizi datum vydani php 7 :)
https://cs.wikipedia.org/wiki/PHP#Nev.C3.BDhody_PHP
- Dne 22. května 2000 byla vydána verze PHP 4
- Dne 13. června 2004 byla představena verze PHP 5
- Vývoj 6 narazil někdy během roku 2010 na problémy... nedosáhlo bodu, ve kterém by bylo schváleno k vydání.
- PHP 7.0, Datum vydání: polovina října 2015 (cili, verze 6 se uplne vynecha, ale kdo vi)
S kodovanim jsem se take pral. Jsou tam tri zpusoby. Bud to naimportujes do db spravne nebo spatne nebo uplne spatne (kdy pouzijes pri importu uplne jine, treti, SET NAMES nez mas jazyk puvodni db a jazyk nove db). Spravne a spatne se da jeste rozchodit spravne zadanym jazykem pro SET NAMES (utf8, latin1 a pod). Tento pripad se da snadno zjistit, kdyz tam zadne SET NAMES nemas a podari se ti v prohlizeci poprepinat takove kodovani, pri kterem se to zobrazi spravne. Uplne spatne je treba ale naimportovat znova.
http://programujte.com/forum/vlakno/29517-php-aplikace-co-potrebujem/#p202845
Z sql dostanes nejaky balik dat. Z nej pak vytahnes radek pres fetch(). Chces dalsi radek? Musis opet pouzit fetch. Proto ten cyklus s while.