Autor | Zpráva | ||
---|---|---|---|
novacek90 Profil |
#1 · Zasláno: 12. 2. 2013, 16:28:27
Ahoj,
mám dotaz / problém. chtěl bych zjišťovat počet položek v menu a dle toho vytvořit seznam select. Snažím se totiž vytvořit vlastní CMS (redakční systém). Zpočátku jen editace stránek, tvorba stránek a jejich mazání. Scripty pro editaci jsem si již napsal a fungují vpořádku teď mi jde o to, že pro výběr stránek, které chci editovat podle selectu viz. kód 1 kód 1 <form action="administrace/zpracuj.php" method="post" name="vyber" > <fieldset> <legend>Vyber stránku k administraci</legend> <select name="stranka" size="1"> <option value="index">index <option value="podstranka">podstranka </select> <input type="submit" name="odeslat" value="Vyber"> </fieldset> </form> kód menu <menu> <ul> <li><a href="/">Index</a></li> <li><a href="/podstranka">Podstranka</a></li> </ul> </menu> si ten select seznam musím napsat sám, ale jelikož by to měl být CMS, tak bych to chtěl vytvářet automaticky. Dokázal jsem si to generovávat tak, že jsem měl menu v db a pak si select seznam vytvářel stejně jako menu, ale chtěl bych aby nebyl CMS závislý na db. Teď akorát nevím jak mám začít jesli to vytvořit v PHP nebo JS. Mohl by mě někdo prosím popostrčit? Nevím jak začít postupovat jestli si to menu nějak načíst do mezipaměti, při tom bych do menu dal, že každá položka by měla vlastní proměnnou a tou bych poté naplňoval v selectu options. Doufám že mě někdo pochopil nevěděl jsem jak to popsat Předem díky za rady |
||
scheras Profil * |
#2 · Zasláno: 12. 2. 2013, 16:56:56
S načtením do paměti je velký problém, který se obvykle řeší právě databázemi. Nevim z jakého důvodu je nechcete používat, ale račte si povšimnout, že db používají všechny majoritně používané CMS. Ale k Vašem dotazu. Napadá mě možnost ukládat si data do textových souborů, čímž odpadne nutnost používat databáze. Je ovšem potřeba ošetřit přístup k těmto souborům.
|
||
novacek90 Profil |
#3 · Zasláno: 12. 2. 2013, 17:20:25
Vím že majorita CMS používá db ale nechci používat db jelikož je podle mě třeba více místa na serveru a je tím více zatěžován, ale je to asi věc názoru. Já bych chtěl vytvořit CMS, který by nezatěžoval server tudíž aby byl malý a nebylo potřeba db.
Vím že se to kvůli tomu řeší databázema a proto se ptám zde jestli někdo neví o nějakém jednoduchém způsobu, abych nemusel použít db. |
||
tiso Profil |
#4 · Zasláno: 12. 2. 2013, 18:31:48
novacek90: skús INI súbory.
|
||
user243 Profil |
#5 · Zasláno: 12. 2. 2013, 19:02:18
jestli tomu dobře rozumím, tak jde o to, mít select se všemi potřebnými stránkami k editaci...
potom stačí napsat cyklus, který potřebné stránky najde a vypíše jako option; |
||
novacek90 Profil |
#6 · Zasláno: 12. 2. 2013, 19:18:28
user243:
> bnými stránkami k editaci... > potom stačí napsat cyklus, který potřebné strá jj něco takového jsem myslel a nevěděl bys jak zhruba by se to dalo udělat?, nebo nemáš náhodou nějaký odkaz s postupem?? |
||
user243 Profil |
#7 · Zasláno: 12. 2. 2013, 19:45:26
třeba takto
|
||
Monkeys Profil * |
#8 · Zasláno: 12. 2. 2013, 20:10:05
novacek90:
Ci budes citat data z databazi alebo z textoveho suboru je uplne jedno. Aj tak aj tak su obydva umiestnene na serveri. Jeden poskytovatel hostingu na SR dava neobmedzenu databazu uplne zadarmo . M. |
||
Micruss Profil |
#9 · Zasláno: 12. 2. 2013, 21:09:54
Zkus todle buď scandir(); a nebo glob();
<select> <?php foreach (scandir("") as $filename) { echo ' <option value="'.$filename.'">'.$filename.'</option>'; } ?> </select> <?php foreach (glob("*.*") as $filename) { echo ' <option value="'.$filename.'">'.$filename.'</option>'; } ?> |
||
novacek90 Profil |
#10 · Zasláno: 13. 2. 2013, 00:14:07
Monkeys:
Vím, že je to asi jedno z čeho to budu číst, ale přeci jen proč využívat výkon serveru na PHP a zároveň MySQL, když může využívat jen PHP a dle mého je tady hlavně úspora místa na serveru. Beru to například z vlastní zkušenosti, kdy mám na notebooku, kde pracuju Apache, MySQL, e-mail server. Dle mého je lepší mít míň, s tím že to zbylé místo můžu využít jinak. Někdo by mohl říct, že na serveru je místa dost, ale já jen dle mého rozumu si to myslím takhle, ale to je debata asi do jiného tématu jestli použít "souborový" / databázový CMS. Micruss: Díky za ukázku kódu ještě než jsem si přečetl tvůj příspěvek tak jsem si ten globe našel zdá se mi vhodný. <?php foreach (glob("web/obsah/*.html") as $filename) { echo "<option value='$filename'>$filename</option>"; } ?> Teď se snažím vyřešit, aby mi to vypsalo jen tu hvězdičku tedy jen ten název toho souboru, jelikož nyní mi to vypíše např.: web/obsah/index.html tudíž teď aby mi to vypsalo jen index nebo kontak atd.
|
||
Micruss Profil |
No teď mě napadá přes explode('/', $filename);
$nazev = explode('/', $filename); echo "<option value='$filename'>$nazev[2]</option>"; |
||
Tori Profil |
#12 · Zasláno: 14. 2. 2013, 01:08:08
novacek90:
„nyní mi to vypíše např.: web/obsah/index.html tudíž teď aby mi to vypsalo jen index“ basename |
||
novacek90 Profil |
#13 · Zasláno: 15. 2. 2013, 12:50:21
Tak jsem to vyřešil takhle:
<?php foreach (glob("web/obsah/*.html") as $filename) { echo "<option value='".basename("$filename", ".html")."'>".basename("$filename", ".html")."</option>"; } ?> Díky všem za rady jsem zase o něco chytřejší ;) |
||
Časová prodleva: 11 let
|
0