Diskuze: Uložení a výpis PHP příkazu v databázi
V předchozím kvízu, Online test znalostí SQL a databází, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 9 zpráv z 9.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí SQL a databází, jsme si ověřili nabyté zkušenosti z kurzu.
Předpokládám, že nechceš ukládat PHP příkaz, ale SQL příkaz SELECT? Pokud je to tak, tak ti echo nepomůže, to jen něco vypisuje do stránky.
Jestli to chápu správně, tak do stránky vypiš menu. Do položek menu dej
odkaz na tu samou stránku a do URl odkazu přidej něco jako stanka.php?m=_id_
kde _id_ nahradíš id z menu.
Po kliku na menu si na serveru načteš to ID z url, vyhledáš v DB položku
toho menu a k měnu ten select. Select pustíš a výsledek vypíšeš do
okna.
Select je na úrovni PHP obyčejný text/string, který si načteš z DB a předáš je do funkce pro spuštění dotazu.
Ano, omlouvám se, je to tak. Chci SQL příkaz.
Děkuji za řešení, ale pokud jsem ho správně pochopil, tak budu muset položky menu vypsat do stránky pomocí html - to je ale věc, které se chci vyhnout. Rád bych, aby se nejdříve vykonal příkaz SELECT, který vypíše položky menu z databáze. Při kliknutí na jednu z položek se vykoná další příkaz SELECT, který podle id/jména položky v menu vytáhne z databáze obsah stránky a ta se následně načte. Pokud správně chápu tvůj návrh/řešení/radu, je to trochu něco jiného. Nebo ne?
Na začátku musíš vypsat celé menu. Teprve po kliknutí na konkrétní
položku menu můžeš spouštět ten select.
Ber to jako dvě oddělené věci.
Při paždém požadavku vypisuješ celé menu - pomocí jako html.
Když při požadavku máš v URL to ID, tak podle něj můžeš dohledat a
spustit ten select, jehož výsledek vypíšeš do stránky (nejspiš pod
menu).
Už asi rozumím... asi.
Můžeš mi, prosím, poslat jednoduchý příklad, ukázku kódu?
Předem díky
To bohužel nemůžu neb dělám v C#.
Ale v HTML to bude vypadat ňák takto:
výpis jedné položky v menu
<a href="stranka.php?M=100">menu 100</a>
ve stránce php (neznám přesnou syntaxi, tak aspon slovně):
--nacist ID z url
$id = ...['M']
if ( pokud je něco v $id)
{
nacist z db: select sql_prikaz from tabulka where id = $id
+ osetrit aby v $id bylo číslo
pokud to neco naslo, tak prikaz spustit a vypsat to do stranky
}
Už je mi vše jasné, děkuji.
Stejně to ale není úplně to, co jsem potřeboval, ale pokud není jiná možnost, udělám to takto.
Původně jsem chtěl, aby do menu šly přidávat položky přes formulář, tedy ukládat je do databáze a z té je pak vypisovat. Chtěl jsem se úplně vyhnout zásahu do celého kódu stránky a SQL příkaz pro výběr obsahu stránky, položku menu a obsah stránky (popř. ještě id) uložit do db a pak to vše jen vyvolávat, aniž by se zasáhlo do kódu. To tedy nejde?
Ještě takhle - chci mít v db tabulku stranky, v níž bude několik sloupců:
Z tabulky stranky nejdříve načtu SELECTem menu. Po načtení menu
si kliknu na nějakou položku a podle zvolené položky se změní text na
stránce.
Už jsem pochopil, že to takto udělat nejde. Mým záměrem je, aby se text,
který se zobrazí jako položka v menu, a obsah stránky dal editovat a
vkládat přes formulář a databázi.
Omlouvám se za vzniklou diskusi, už jsem se v radách od Jan Stodůlka zorientoval a svůj problém vyřešil - vše funguje tak, jak jsem chtěl. Takže díky, Jane.
Kdyby na toto vlákno někdo narazil a měl stejný problém, zde je sepsané řešení (vlastně je to to samé, jako napsal Jan):
Nejdříve z db vyvolám příkazem SELECT seznam položek menu. Ty vypíšu pomocí echo + doplním je tak, aby se zobrazily jako odkaz. V něm musí být stranka.php?sekce=XXX, přičemž místo XXX se načte identifikátor, díky kterému následně načteme obsah stránky. Při kliknutí na jednu z položek menu se v URL adrese zobrazí hodnota select=XXX. Následně použijeme isset, čímž zjistíme, zda je select "zaplněn" a má svou hodnotu. Což po kliknutí na jeden z odkazů má. Potom už jen podle identifikátoru (XXX) vytáhneme z db (také pomocí SELECT) jeden z obsahů stránky a za pomoci echo ho vypíšeme.
Toť vše! Děkuji, Jane, za pomoc.
Zobrazeno 9 zpráv z 9.