Autor | Zpráva | ||
---|---|---|---|
8vm8 Profil |
#1 · Zasláno: 11. 8. 2012, 16:50:04
Čau, učím se php a přemýšlím nad tím, jak se dá po kliknutí na odkaz získat požadovaná data z mysql. Mám index.php a v něm je menu např. s těmito odkazy : "Tipy a triky" a "Návody". Po kliknutí na " Návody " chci, aby se mi zobrazily všechny návody, které mám v databázi. Tady mám první problém. Návody mohou být vcelku obsáhlé, a mohou obsahovat i obrázky apod., tak se chci zeptat, odkud je lepší tato data načítat a jak? Dále teda, když se mi načtou všechny návody nevím, jak mám ten skript napsat tak, aby třeba po kliknutí např. na "1.návod" načetl data prvního návodu, po kliknutí na "2.návod druhého, aby jsem ten skript nemusel psát pro každý návod zvlášť.
|
||
Zechy Profil |
Podmínky, které ti budou ověřovat zda v adrese existuje příslušný parametr, podle kterého určíš stránku, v té podmínce pak tedy můžeš volat připojení k mysql a spouštět dotaz který vybere tu stránku nebo návod který má.
Čili by si měl něco jako: <?php if(!isset($_GET["pg"])) { // Index } else if(isset($_GET["pg"])) { if($_GET["pg"] == "tipy") { // Dotaz na MySQL co vydoluje obsah stránky } } ?> A co se týče obsahu jednotlivých stránek, tak to lze ukládat třeba jako to dělají redakční systému - HTML kod do databáze. |
||
mimochodec Profil |
#3 · Zasláno: 11. 8. 2012, 17:01:35
Zechy:
K čemu je ten if na 6. řádku? |
||
Zechy Profil |
#4 · Zasláno: 11. 8. 2012, 17:05:20
mimochodec:
Je fakt, že by tam stačil else, ale když tam bude víc možností jak může vypadat první get? :) |
||
8vm8 Profil |
Takže mi stačí jeden php skript, který bude vyhledávat návod, který obsahuje tu a tu podmínku? Já se teď sháněl po tom co jsi napsal, takže tedy stačí když budu mít v návodu obsaženo asi toto:
<html> <head> <title>Tohle je první návod</title> </head> <body> <?php //tady by měla být ta podmínka? ?> Tohle je text prvního návodu </body> </html |
||
Zechy Profil |
#6 · Zasláno: 11. 8. 2012, 17:33:42
Přesně, tu podmínku si vložíš tam kde chceš mít vypsanej obsah, takže klidně třeba i nějaký div s obsahem.
|
||
8vm8 Profil |
A ten skript, bude v databázi hledat tu podmínku. Jakmile ji najde, tak ten obsah, který obsahuje tu podmínku, vypíše na místo, kde bude uveden ten skript. Já se teda ještě musím zeptat, jak by ta podmínka měla vypadat protože na netu jsem to nenašel, nebo spíše našel ale nepochopil.
|
||
Zechy Profil |
#8 · Zasláno: 11. 8. 2012, 17:59:42
Záleží o to jak bys v databázi rozlišoval jednotlivé stránky, nejjednodušší je jim dávat ID, v tom případě by sis stránky i v adrese rozlišoval dle čísla, který bys pak předal mysql dotazu.
Takže například asi nějak takhle: <?php mysql_query("SELECT nadpis, obsah FROM stranky WHERE id = $_GET[pg]"); ?> |
||
mimochodec Profil |
#9 · Zasláno: 11. 8. 2012, 18:03:40
8vm8:
„A ten skript, bude v databázi hledat tu podmínku. Jakmile ji najde, tak ten obsah, který obsahuje tu podmínku, vypíše na místo, kde bude uveden ten skript. Já se teda ještě musím zeptat, jak by mohla ta podmínka vypadat protože na netu jsem to nenašel, nebo spíše našel ale nepochopil.“ Nebývá úplně běžné, že by v databázi ležely celé stránky. Nebo skoro celé stránky, jak to máš naznačeno ty. Běžné je, že podle toho $_GET["pg"] se vkládá nějaká kostra stránky pomocí include. Takže máš pod sebou řekněme 5x podobný if nebo lépe nějaký switch a v kažé jeho větvi je include nějaké postránky. Takže v index.php je jen začátek stránky (to, co pak tvoří řekněme záhlaví) a její konec. Samotný obsah jednotlivých includovaných stránek se pak řeší až v nich. Toto je jen jedno z několika řešení a možná jsem úplně neodpověděl na to, na co se ptáš. U hodně jednoduchých webíků se bez tohoto dá obejít a celé stránky v databázi mít můžeš. je to ale spíš výjimka. Zechy: „Je fakt, že by tam stačil else, ale když tam bude víc možností jak může vypadat první get?“ Ten isset je buď true nebo false, jiná možnost není. |
||
Zechy Profil |
#10 · Zasláno: 11. 8. 2012, 18:11:47
mimochodec:
„Ten isset je buď true nebo false, jiná možnost není.“ Jasný, ale pokud je třeba odlišit obsah pomocí několika getů? Například jestli bude PG, subpage, show, atd. atd. tak tam si else if místo najde ne? Potřebuješ nějak zjistit jakej GET je zrovna použit. |
||
8vm8 Profil |
#11 · Zasláno: 11. 8. 2012, 18:12:19
Dík všem:). Teď jsem si to zkusil a funguje mi to. Udělal jsem to tak, že jsem vložil html kód s textem do tabulky. Sice je výpis trošku kostrbatý ale to se napraví:).
|
||
Časová prodleva: 13 let
|
0