wyswietlenie strony z bazy danych

0

hej, nie wiem w jaki sposob moglbym wyswietlac strony z bazy, tj. stworzylem stronke, gdzie w jednej ramce na stronie sa linki i chcialbym, aby po ich kliknieciu w drugiej wyswietlaly sie strony, ktorych cala tresc jest zapisana w bazie, do kazdego linka moge przypisac jakas funkcje
link.onclick = function(){
top.drugaRamka.fun();
}, ale co dalej to nie wiem, z wrzucaniem tresci strony z bazy do zmiennej php i przypisaniem danej zmiennej do linku nie ma problemu, ale jak wyswietlic ta strone, tego juz nie wiem :/
bylbym wdzieczny za pomoc :>

0

Oj, straszne pomieszanie z pogmatwaniem. Jeśli używasz ramek (a feee ;P), to użyj linku z odpowiednim target, a w href ustaw jakiś skrypt PHP, który tą stronę wyciągnie z bazy i przekaże przeglądarce. Jeśli tworzysz jedną stronę, na której jedna częśćto menu, a druga strona wewnętrzna, to albo wstawiaj treść podstrony na podstawie argumentów do skryptu przekazywanych przez GET (w linku), albo jak chcesz się bawić więcej niż potrzeba, to użyj XmlHttpRequest, by wyciągnąć treść samego wnętrza strony i podstawić ją pod aktualną podstronę.

0

dzieki za odp, ale nie moge jeszcze wyswielic strony, ktorej kod jest umieszczony w zmiennej $aux, bo ponizszy sposob nie jest dobry

<html> <head> <meta http-equiv="Content-type" content="text/html; charset=ISO-8859-2" /> <meta name="Description" content="" /> </head> <body> <script> function test() { <? $aux = ' <html> <head> <meta http-equiv="Content-type" content="text/html; charset=ISO-8859-2" /> <meta name="Description" content="" /> </head> <body> test </body> </html>'; ?> document.write('<? echo "$aux" ?>'); } test(); </script> </body> </html>
0

No nie... w tej chwili sie załamałem...

Xian... najpierw zostanie wykonany kod PHP, a później JS... a nie odwrotnie !

poza tym po co robisz to wszystko w javascript ?!

Wystarczy:

<html>
<head>
  <meta http-equiv="Content-type" content="text/html; charset=ISO-8859-2" />
  <meta name="Description" content="" />
</head>
<body>

<?
function test() {
echo '<html><head><meta http-equiv="Content-type" content="text/html; charset=ISO-8859-2" /><meta name="Description" content="" /></head><body>test</body></html>';
}

test(); 
?>
</body>
</html> 
0

To też nie zadziała :P
Bo masz w wyniku <html><head ../><body><html>... To nie przejdzie :P. Jeśli w treści strony masz całą strukturę dokumentu HTML, to nie ma innego wyjścia, jak albo ją uciąć (wyciągnąć tylko to spomiędzy <body> i </body>), albo zastosować ramkę/pływającą ramkę.

0

Xian napisz po prostu co chcesz uzyskać, bo po twoim kodzie nic nie można wywnioskować.

0

ok, postaram sie dokladnie opisac z czym nie moge sobie poradzic
otoz mam dwie ramki, w jednej jest lista linkow, po kliknieciu kazdy z nich ma w drugiej ramce wyswietlac inna strone, a kod tych stron jest juz zapisany w bazie
po kliknieciu na linka moge wywolac dowolna funkcje, np. z pliku tworzacego druga ramke
link.onclick = function(){
top.drugaRamka.showPage(idOfRow);
}
gdzie idOfRow jest numerem wiersza z bazy, gdzie zapisana jest tresc strony
dane z bazy pobieram poprzez polecenie
$content = $base->getData('select content from pages where page_id = ? // idOfRow')
nie wiem jak zaimplementowac funkcje showPage(idOfRow), tak aby polaczyc zmienna js idOfRow z zapytaniem sql, i jak wyswielic zawartosc zmiennej php $content, skoro nic podobnego na pewno nie przejdzie:

<html> <head> <meta http-equiv="Content-type" content="text/html; charset=ISO-8859-2" /> </head> <body> <script> function showPage(idOfRow) { //funkcja wywolywana po kliknieciu linka document.write(<? funkcja wyswietlajaca zawartosc strony ?>); } </script> </body> </html>

mam nadzieje, ze wyrazilem sie jasno i ktos potrafi mi pomoc,
bo ja nie mam pomyslu jak to zrobic ;- [glowa]

0

Nie używaj document.write przy funkcjach zdarzeniowych [a po prawdzie najlepiej w ogóle]. Odwołaj się do document.body.innerHTML w najgorszym wypadku, oczywiście teoretycznie najlepsze byłoby zbudowanie struktury na obiektach HTML DOM, ale to trzeba inaczej podejść do tego.

0

chcialbym to zrobic na obiektach HTML DOM, ale nie wiem jak sie do tego zabrac :-P

0

Rzecz w tym, że do tego całkiem inaczej się podchodzi - nie wstawia się kodu HTML, tylko obiekty jako takie. Czyli zamiast napisać przykładowo:

jakiś tekst

musiałbyś po kolei stworzyć obiekt DIV, następnie nadać mu klasę "1", następnie w jego wnętrzu stworzyć obiekt DIV, nadać mu identyfikator "2", a na koniec stworzyć paragraf i do niego wstawić tekst "jakiś tekst".
0
Adam.Pilorz napisał(a)

(..)

a masz jakies ciekawe tutoriale wprowadzające do tego?

1 użytkowników online, w tym zalogowanych: 0, gości: 1