Diskuze: Postupný výpis seznamu v rámci jedné stránky
V předchozím kvízu, Online test znalostí SQL a databází, jsme si ověřili nabyté zkušenosti z kurzu.


Zobrazeno 11 zpráv z 11.
K personalizaci obsahu a reklam, poskytování funkcí sociálních médií a analýze naší návštěvnosti využíváme soubory cookie. Informace o tom, jak náš web používáte, sdílíme se svými partnery pro sociální média, inzerci a analýzy. Partneři tyto údaje mohou zkombinovat s dalšími informacemi, které jste jim poskytli nebo které získali v důsledku toho, že používáte jejich služby.
Používáme nezbytné cookies pro fungování webu a s tvým souhlasem také analytické a marketingové cookies.
Zajišťují základní funkce, bezpečnost a služby, které sis vyžádal. Nelze je vypnout.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| ITnetwork | ITnetwork | Provoz webu, relace, přihlášení a uložení nastavení cookies. | PHPSESSID, auth_token, sid, itn_consent_impression, __Host-itn_consent | Relace až 1 rok |
| Google Tag Manager | Správa značek a načítání měřicích nástrojů webu. | Žádné | Neukládá se | |
| Google Fonts | Načítání typografie webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google Hosted Libraries | Načítání potřebných knihoven a stylů webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google reCAPTCHA | Ochrana formulářů a webu před zneužitím. | _GRECAPTCHA, rc::a, rc::b, rc::c, rc::f | Relace až 180 dní | |
| YouTube | Přehrávání vloženého video obsahu. | localStorage, IndexedDB; cookies after playback interaction | Relace až trvalé úložiště | |
| Vimeo | Vimeo | Přehrávání vloženého video obsahu. | __cf_bm, _cfuvid, vuid, localStorage, IndexedDB | Relace až 2 roky |
| Facebook Login | Meta | Přihlášení pomocí účtu třetí strany. | Úložiště řízené poskytovatelem | Relace až 1 rok |
| GoPay | GoPay | Zpracování uživatelem vyžádané platby. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
Pomáhají nám porozumět používání webu a zlepšovat ho.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Analytics 4 | Měření návštěvnosti a používání webu. | _ga, _ga_* | Až 2 roky | |
| Microsoft Clarity | Microsoft | Měření návštěvnosti a používání webu. | _clck, _clsk, _cltk | Relace až 1 rok |
Slouží k měření kampaní, personalizaci reklamy a marketingové komunikaci.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Ads | Měření kampaní, reklama a remarketing. | _gcl_au, _gcl_ls | Relace až 90 dní | |
| Meta Pixel | Meta | Měření kampaní, reklama a remarketing. | _fbp, _fbc, localStorage | Až 90 dní |
| Sklik | Seznam.cz | Měření kampaní, reklama a remarketing. | retargeting, sid, szn:* | Relace až trvalé úložiště |
| LinkedIn Insight | Měření kampaní, reklama a remarketing. | bcookie, li_gc, lidc, __cf_bm | Relace až 1 rok | |
| Ecomail | Ecomail.cz | Měření kampaní, reklama a remarketing. | ecmid, Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
| Atribuce kampaní ITnetwork | ITnetwork | Přiřazení návštěvy a objednávky ke kampani. | campaign_clid[*], user_session_context | Až 1 rok |
V předchozím kvízu, Online test znalostí SQL a databází, jsme si ověřili nabyté zkušenosti z kurzu.


chtěla bych se vyhnout tomu, aby pro každou kategorii byla vytvořena samotná stránka např. web.cz/1994-95-Czech-BOOK.php a v budoucnu mít xx stránek.
V praxi by to bolo cca taketo nieco web.cz/index.php?rok=1&kat=1& ....
rok = id_rok
kat = id_kategoria
nasledne mozes s premennymi pracovat:
if(isset($_GET['rok']) && isset($_GET['kat']))
{
// tu uz si urobis, co sa ma stat ak maju premenne v linku nejaku hodnotu
}
Poviem pravdu, ze necital som to cele len zaciatok, ale riesil by som to asi takto nejak
Neměl by jsi prosím nějakou stránku, kde by byl tento způsob použit a vysvětleno jak funguje $_GET? Marně se snažím najít nějaký návod jak to implementovat k url adresám, resp. pochopit jak to funguje, ale vždy to je pouze v souvislosti s formuláři.
Nemůžu přijít na to, jak to zakomponovat do svého kódu.
$_GET je celkem jednoduchý. Máš URL na nějakou stránku, dejme tomu,
mojestranky.cz/index.php
.
A teď budu chtít do URL přidat nějaký parametr, dejme tomu, že id
něčeho. Takže za konec URL připíšu otazník, název parametru a jeho
hodnotu. Takto.
mojestranky.cz/index.php?id=1
Jednotlivé parametry pak jsou ve slovníku $_GET, a přistupuješ k nim podle jejich názvu. Nyní v index.php můžeš udělat následující:
if( isset($_GET["id"])) { //zjistíš, jestli parametr existuje. pokud ano, vrátí se true
$id = $_GET["id"]; //pokud existuje, můžeš k ní bezproblémů přistupovat
Pokud potřebuješ parametrů víc, oddělíš je znakem &, např
mojestranky.cz/index.php?id=1&kategorie=deti&rok=2010
Pokud takhle vygeneruješ link a přes <a> ho dosadíš k něčemu, uživatel na to klikne, aniž by se musel o něco zajímat, a ty v kódu víš, na co kliknul.
Ešte by som ti poradil, aby si nepoužívala zastaralý MySQL driver - "mysql_" - v PHP 7 už je dokonca aj vymazaný ak sa nemýlim. Odporúčam ti pokiaľ si začiatočníčka, tak používať PDO, tu na itnetworku je dokonca urobená trieda na použitie PDO, ktorá je veľmi jednoduchá na použitie. Alebo ak nechceš zmenu, tak môžeš kľudne pracovať s "mysqli_"
Tieto linky by ti mohli pomôcť:
http://www.w3schools.com/…_connect.asp
http://www.w3schools.com/…rglobals.asp
http://www.itnetwork.cz/php/databaze
Tak jsem se v tom trochu ztratila, neboť nevidím, že když použiju $_GET, tak to vyřeší můj dotaz.
O zobrazení hlavního seznamu se stará tento kód
$databaze="XXX";
$spojeni=mysql_connect("XXX","XXX","XXX");
$co="(XXX)";
mysql_select_db("XXX") or die( mysql_error() );
$navrat=mysql_query($co, $spojeni) or die(mysql_error());
while (list($nazev,$nazev_kategorie) = mysql_fetch_row($navrat)){
echo ("<a href=\"test.php?$nazev&$nazev_kategorie\"><b></b>$nazev - $nazev_kategorie</a></br>");
}
Takže k echo mám dopsat parametry?
echo ("<a href=\"test.php?rok=$nazev&kategorie=$nazev_kategorie\"><b></b>$nazev - $nazev_kategorie</a></br>");
A potom použiju
if(isset($_GET['rok']) && isset($_GET['kategorie']))
{
a zde napisu znovu ECHO pro zobrazeni seznamu, nebo uz pro podseznam?
}
Pro podseznam mam tento kod:
if (isset($_SERVER['QUERY_STRING']) && !empty($_SERVER['QUERY_STRING'])){
$nazev = $_SERVER['QUERY_STRING'];
$nazev_kategorie = $_SERVER['QUERY_STRING'];
$serie = str_replace(array('%20', '&'), ' ' , $_SERVER['QUERY_STRING']);
$databaze="XXX";
$spojeni=mysql_connect("XXX","XXX","XXX");
$co="(XXX)";
mysql_select_db("XXX") or die( mysql_error() );
$navrat=mysql_query($co, $spojeni) or die(mysql_error());
echo ("<h3><center>vybral jsi --- $serie</center></h3>");
while (list($nazev,$nazev_kategorie,$nazev_podkategorie) = mysql_fetch_row($navrat)){
echo ("<a href=\"test.php?$nazev&$nazev_kategorie&$nazev_podkategorie\"><b></b>$nazev - $nazev_kategorie - $nazev_podkategorie</a></br>");
}
}
Bude to tak správně?
if(isset($_GET['rok']) && isset($_GET['kategorie']))
{
echo ("<a href=\"test.php?rok=$nazev&kategorie=$nazev_kategorie&podkategorie=$nazev_podkategorie\"><b></b>$nazev - $nazev_kategorie - $nazev_podkategorie</a></br>");
}
A pro zobrazeni konkrétního titulu, pak bude podmínka
if(isset($_GET['rok']) && isset($_GET['kategorie'] && isset($_GET['podkategorie']))
{
ECHO zobrazeni titulu?
}
A ted když mám 3 podmínky, tak už je jenom dám do cyklu?
Např.
o PDO jsem už četla a že zápisy, které používám jsou už zastaralé, ale ve škole jsem se učila právě tuto variantu a snažím se ji nějak využít v rámci vlastního projektu, na kterém bych se chtěla databáze/programování naučit používat. Neboť ve škole jsem vždycky co se týká programování/databází měla jen teorii, ale praxi, resp. ukázka použití v reálu byla vždy nulová.
Navíc nevím, jestli by bylo ideální se nyní začít učit PDO, když i ještě ve starém způsobu programování tápu a mám určité nedostatky.
Ale také si říkám, že jakmile by se mi podařilo tohle zrealizovat, že bych později nastudovala PDO a přepsala to do této podoby.
Dle mého názoru je zbytečné se učit něco, co už se nemá používat a pak se "to" přeučovat podle nových "regulí". Navíc si myslím, že by tě to v učení se nových věcí i mohlo mást a svádět ke špatnému způsobu programování. Začni rovnou s učením PDOčka a se starým způsobem neztrácej čas...
Ano, souhlasím, ale když nepochopím, resp. se mi nedaří najít vhodné návody na mysql, tak na PDO už to tuplem nenajdu.
Všichni říkají, že je to obdoba, ale marně se snažím najít, jaké všechno změny bych musela udělat ve svém stávajícím kódu, aby odpovídal PDO.
Zkoušela jsem se dívat např. na $_GET a použití v PDO a nikde nic.
Tímto bych se asi nikam nepohnula a nerada bych stála se svým
"programováním" na mrtvém bodě, než bych nějaký vhodný návod na přepis
našla, neboť na internetu mi přijde, že zatím PDO není moc rozšířené ,
resp. se o něm moc nepíše 
Třeba tady na itnetworku je na to seriál. Já sice PHP nedělám, snažím se tvořit v ASP.NET, ale z vlastní zkušenosti vím, že když se něco "naučíš po staru" blbě se to přeučuje "do nového" a pořád do toho nového budeš tahat špatné staré návyky... Učil jsem se C# winforms a po přechodu na WPF tam dodnes používám blbosti, které jsem se naučil ve WF...
Prosím, dokázal by někdo poradit, jak to máte řešené, příp. dát nějakou ukázku? Nenapadá mě, jak to mám vyřešit.
Nechce se mi věřit, že by všichni měli třeba 100 stejných stránek
akorát na každé z nich jiný obsah, určitě se to musí jít nějak dát do
cyklu a aby se to odehrávalo v rámci jedné stránky 
Děkuji.
Zobrazeno 11 zpráv z 11.