Ako su riesene php stranky?!
Ako su riesene php stranky?!
Chcel by som len strucne vysvetlenie na akom principe su najcastejsie spravene stranky, teda konkretne nacitavanie obsahu, priklad:
index.php?id=novinky
...myslel som si ze to je robene tak, ze v stranke index je cely design a kostra stranky a podla ID zisti aky subor ma nacitat php, v tomto priklade by to bolo novinky.txt ...
...lenze problem je v tom ze ak v tom novinky.txt potrebujem mat nejake udaje, ktore sa budu tahat z mysql...
...totiz potom do index.php nemozem nacitat obsah novinky.txt v ktorom bude pouzite tiez php a aj s mysql...
...takze bud som zle pochopil ako sa takto riesi nacitavanie obsahu cez index.php?id=blabla ,alebo existuje nejaky sposob ako nacitat zo suboru do php dalsie php...
index.php?id=novinky
...myslel som si ze to je robene tak, ze v stranke index je cely design a kostra stranky a podla ID zisti aky subor ma nacitat php, v tomto priklade by to bolo novinky.txt ...
...lenze problem je v tom ze ak v tom novinky.txt potrebujem mat nejake udaje, ktore sa budu tahat z mysql...
...totiz potom do index.php nemozem nacitat obsah novinky.txt v ktorom bude pouzite tiez php a aj s mysql...
...takze bud som zle pochopil ako sa takto riesi nacitavanie obsahu cez index.php?id=blabla ,alebo existuje nejaky sposob ako nacitat zo suboru do php dalsie php...
raz som to niekomu vysvetloval a napisem ti to iste ak sa nebudes hnevat
ked mas podporu php, tak ti ukazem jednu fintu. je to "programovania" na 5 riadkov asi. na zaciatok suboru (index.php) vlozis toto tu
dalej bude nejaky html kod tvojej stranky. menu a bannery a tlacitka a bla bla bla.
ked prides po stred, tak vlozis toto tu
a ked budes robi odkazy, tak to spravis napriklad takto:
do toho menu si das vlastne nazov suboru. subor si nazves nieco.php a vlozis tam ten menitelny obsah. ked uzivatel pride na stranku, tak rovno mu hodi ako tu menitelnu cast obsah suboru start.php.
to je vsetko. GL
ked mas podporu php, tak ti ukazem jednu fintu. je to "programovania" na 5 riadkov asi. na zaciatok suboru (index.php) vlozis toto tu
Kód: Vybrať všetko
<?php
$menu = $_GET['menu'];
if (!isset($menu))
{
$menu="start";
}
?>
ked prides po stred, tak vlozis toto tu
Kód: Vybrať všetko
<?php
include ("./$menu.php");
?>
Kód: Vybrať všetko
<a href='index.php?menu=profil'>profil</a>
to je vsetko. GL
hm... mal som to podobne spravene, akurat ze takto:
...btw podla tvojho som to skusil a fungoval mi to co mi pri tom mojom neslo...
...lenze potom mi nejde do hlavy ako tam mam spravit zalamovanie riadkov..
...a potom kde som potreboval vypisat obsah som dal ciklus s echo...if ($id=='') $a= file('news.dat');
else {
$id = $id.'.dat';
$a = file($id);
};
...btw podla tvojho som to skusil a fungoval mi to co mi pri tom mojom neslo...
...lenze potom mi nejde do hlavy ako tam mam spravit zalamovanie riadkov..
-
caesar1987
Addict
- Príspevky: 3001
- Registrovaný: 02 okt 2005, 0:57
- Bydlisko: Nové Zámky
- Kontaktovať používateľa:
takze pokusim sa este raz:
...hovorim o mojom subore index.php
...prve co mam na stranke:
...to je v podstate to ciste co si napisal ty...
...potom mam divy a atd...proste design a atd...
...potom mam div v ktorom ma byt obsah ktory sa ma menit podla linku na ktory kliknem:
...a to je v podstate cely kod mojej stranky...
...ked som to upravil podla teba tak ten dlhy cyklus ktory nacitava a zalamuje riadky som dal:
...ide to ok, nacita mi to obsah, lenze ked tam mam takyto text:
..tak mi ho vypise ako: ,, jeden dva tri'' a nie pod seba...
...ak chapem spravne tak by som mal podla teba by som mal potom v tom subore ktory nacitavam cez include davat za kazdym riadokom <br> coz sa mi zda blbost...
...hovorim o mojom subore index.php
...prve co mam na stranke:
Kód: Vybrať všetko
<?
if ($id=='') $a= file('news.dat');
else {
$id = $id.'.dat';
$a = file($id);
};
?>...potom mam divy a atd...proste design a atd...
...potom mam div v ktorom ma byt obsah ktory sa ma menit podla linku na ktory kliknem:
Kód: Vybrať všetko
<?
for ($i=2;$i<count($a);$i++) {
if (ord($a[$i][0])>=65 and ord($a[$i][0])<=122) $a[$i]=str_replace("\n","<br>",$a[$i]);
echo $a[$i];
};
?>...ked som to upravil podla teba tak ten dlhy cyklus ktory nacitava a zalamuje riadky som dal:
Kód: Vybrať všetko
include($id)Kód: Vybrať všetko
jeden
dva
tri...ak chapem spravne tak by som mal podla teba by som mal potom v tom subore ktory nacitavam cez include davat za kazdym riadokom <br> coz sa mi zda blbost...
ok, tak asi tam budem teda davat tie <br> ...
...este ale jeden problem mam ohladom toho...
...nacitam obsah napriklad z news.txt a teraz ked sa mi to nacita do nejakeho divu cez include, tak potrebujem aby som mal zaroven v inom dive text ze Novinky...
...vtedy som to mal riesene tak, ze som ten subor mal nacitany v poli a vedel som ze vzdy prvy riadok pola bol ten nazov, takze som si to mohol hocikam dat...
...este ale jeden problem mam ohladom toho...
...nacitam obsah napriklad z news.txt a teraz ked sa mi to nacita do nejakeho divu cez include, tak potrebujem aby som mal zaroven v inom dive text ze Novinky...
...vtedy som to mal riesene tak, ze som ten subor mal nacitany v poli a vedel som ze vzdy prvy riadok pola bol ten nazov, takze som si to mohol hocikam dat...
Niečo takéto?
Kód: Vybrať všetko
<div>
<?php include("menu.txt"); ?>
</div>
<div>
<?php include("news.txt"); ?>
</div>skor si myslim ze sa absolutne nerozumieme, tazko sa mi to vysvetluje...
...takze to prve sme teda vyriesili, vsade budem davat to <br> ked chcem zalomit riadok...
...a teraz k tomu druhemu: (btw turtlak to tusim spravne pochopil ale pri mojom zdrojaku to tak jednoducho nejde)
- nacitam obsah stranky z news.txt do index.php
- ten obsah bude v nejakom dive v ktorom sa objavy ten nacitany obsah
-- no nadpis k tomuto obsahu zas potrebujem mat v inom dive
-- teda pri nacitany news.txt do jedneho divu, potrebujem mat zaroven napisane Novinky v inom dive
-- mozno vam pomoze tento zdrojak:
(to menu si nevsimajte, to je staticke, potrebujem ten nadpis + obsah)
...takze to prve sme teda vyriesili, vsade budem davat to <br> ked chcem zalomit riadok...
...a teraz k tomu druhemu: (btw turtlak to tusim spravne pochopil ale pri mojom zdrojaku to tak jednoducho nejde)
- nacitam obsah stranky z news.txt do index.php
- ten obsah bude v nejakom dive v ktorom sa objavy ten nacitany obsah
-- no nadpis k tomuto obsahu zas potrebujem mat v inom dive
-- teda pri nacitany news.txt do jedneho divu, potrebujem mat zaroven napisane Novinky v inom dive
-- mozno vam pomoze tento zdrojak:
Kód: Vybrať všetko
<div id="line">
<div id="up">
<div id="nadpis">
----- NADPIS ------
</div>
</div>
<div id="middle">
<div id="left"></div>
<div id="floating">
<div id="menu">
--- MENU ---
</div>
<div id="space1"></div>
</div>
<div id="floating">
<div id="text">
<?
include(...subor s obsahom...);
?>
</div>
<div id="space2"></div>
</div>
<div id="right"></div>
</div>
<div id="clear">
<div id="banner"> BANNER !!!! </div>
<div id="banner2"></div>
</div>
</div>index.php:
test.php:
Prípadne ak ťa to vkladanie <br> veľmi unavuje, tak to tam nemusíš dávať, ale potom budeš musieť upraviť jeden riadok na niečo takéto:
Kód: Vybrať všetko
<?php
include("test.php");
?>
<div id="nadpis">
<?php echo $nadpis; ?>
</div>
<div id="obsah">
<?php echo $obsah; ?>
</div>Kód: Vybrať všetko
<?php
$nadpis="Nadpis";
$obsah="aaa<br>
bbb<br>
ccc";
?>Kód: Vybrať všetko
<?php echo nl2br($obsah); ?>dik velmi moc, ale v tomto pripade by som sa mal zas dostat k tomu istemu problemu ako predtym...
...teda ak ten obsah bude z casti dynamicky a teda nacitavany pomocou php a mysql tak ho nemozem len vypisat cez echo...
...pochopil si ma spravne co chcem, lenze tie novinky nebudem asi vzdy novu rucne zapisovat do toho suboru...teda to budem mat ulozene vsetko v mysql...
...a ked dam nacitat obsah z news.txt, tak potrebujem aby sa mi nacital ten nadpis z toho subora (to bo islo) a zaroven aby sa nacital obsah, coz by bolo dajme tomu 10noviniek v tabulkach, pricom nacitanych z mysql (coz uz je problem)
...dufam ze sa pochopime, lebo sa mi to tazko vysvetluje...
...teda ak ten obsah bude z casti dynamicky a teda nacitavany pomocou php a mysql tak ho nemozem len vypisat cez echo...
...pochopil si ma spravne co chcem, lenze tie novinky nebudem asi vzdy novu rucne zapisovat do toho suboru...teda to budem mat ulozene vsetko v mysql...
...a ked dam nacitat obsah z news.txt, tak potrebujem aby sa mi nacital ten nadpis z toho subora (to bo islo) a zaroven aby sa nacital obsah, coz by bolo dajme tomu 10noviniek v tabulkach, pricom nacitanych z mysql (coz uz je problem)
...dufam ze sa pochopime, lebo sa mi to tazko vysvetluje...
Tak tam nedáš premennú $obsah ale dáš tam funkciu obsah() (a tá vráti to čo chceš).
a potom použiješ
Kód: Vybrať všetko
function obsah()
{
return "aaa<br>
bbb<br>
ccc";
}Kód: Vybrať všetko
function obsah()
{
mysql_query();
mysql_fetchrow();
return $premenna
}Kód: Vybrať všetko
<?php echo obsah(); ?>neviem ci som ta spravne pochopil, ale asi by mi to nefungovalo...dam preistotu v skratke ako vyzera news.txt :
...takze takto by vyzerali tie novinky... najlepsie by teda bolo fakt includnut do index.php a nejak inak doriesit to nadpis do ineho divu...
...btw cele mi to pripada nejak zlozite, riesi sa to vobec takto?
Kód: Vybrať všetko
<? pripojenie k databaze mysql ?>
Novinky
nejaky text, bak bakbkbbfb
<?
for 1 po koniec mysql... {
echo '
<table>
<tr>
<td> '.$datum_novinky.' </td>
</tr>
<tr>
<td> '.echo $obsah_novinky.' </td>
</tr>
</table>';
};
...btw cele mi to pripada nejak zlozite, riesi sa to vobec takto?
prva vec co by si si mal cim skor uvedomit je, ze ked mas priponu txt, tak ti to sice opjde, ale zobrazi to hocikou ked zada adresu toho suboru. takze pekne includuj subory s priponou php. dalej pripojenie k DB si daj do suboru a ten includni v indexe a dalej sa nemusis starat o DB. dalej ak chces novinky, tak nadpis si uloz tiez do DB a cucaj aj nadpis aj clanok aj datum a vsetko co len chces. potom si mozes povedat, ze to mas fajne spravene
dufam, ze uz aspon trosku chapem co chces spravit 