Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Funkcja Include(); + Baza Mysql, otwieranie domyślnej strony z bd
mpps
post
Post #1





Grupa: Zarejestrowani
Postów: 242
Pomógł: 0
Dołączył: 14.03.2003
Skąd: Szczecin

Ostrzeżenie: (0%)
-----


cześć!
mam taką oto zagwostkę:
w pliku index.php znajdują się funkcje include(); odpowiedzialne za otwieranie konkretnych stron (np. z rozszerzeniem *.htm) składających się na tą główną (np. nagłówek, menu z lewej, środek strony i stopka).

Pytanie:
Jak spowodować otwieranie na środku strony (w oparciu o bazę danych) domyślnie pliku, który będzie później podmieniany na strony pokazujące się po kliknięciu na któryś z linków menu?

Upraszczając:
Wchodzimy na stronę www.jakas_domena.pl i otwiera nam się cała strona złożona ze stron includowanych. Dopiero po kliknięciu na link z menu, adres strony zmienia się np. na www.jakas_domena.pl/index.php?id=jakis_rekord (gdzie "jakis_rekord" to indeks w bazie danych) a na miejsce środkowej includowanej strony pokazuje się strona znajdująca się pod adresem przypisanym do linku, który kliknęliśmy.
To jest coś na zasadzie:

function menu($id)
{
$mplik = "menu.txt";
if (file_exists($mplik))
{
$plik = fopen($mplik, "r");
while (!feof($plik))
{
$linia = fgets ($plik, 40);
$rozbij = explode (";", $linia);
printf("<A HREF=\"index.php?id=%s\">%s</A><BR>", $rozbij[0], $rozbij[1]);
}
fclose ($plik);
}
}

function srodek_strony($id)
{
switch ($id)
{
case 1:
$plik="1.htm";
break;
case 2:
case "add":
$plik="2.htm";
break;
case 3:
$plik="3.htm";
break;
case 4:
$plik="4.htm";
break;
default: //czegoś takiego jak to mi brakuje winksmiley.jpg
$plik="srodek.htm";

}
if (file_exists($plik))
{
include($plik);
}
else
{
print("Przykro mi - strona, której szukasz, jest w tej chwili niedostępna :-(");
}
}

srodek_strony($_GET['id']);

tylko, że oparte na bazie danych... winksmiley.jpg
lub coś na zasadzie HTML-owskiego <IFRAME>

pozdro i thnx z góry za pomoc
marcin


--------------------
www.mpps.pl
park maszynowy: apache 2.2.22 | php 5.4.0 | MySQL 5.0.10 | phpMyAdmin 3.5.0 | notepad ++ | pilsner urquell
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
scanner
post
Post #2





Grupa: Zarząd
Postów: 3 503
Pomógł: 28
Dołączył: 17.10.2002
Skąd: Wrocław




NO prezeciewż konstrukcja Switch ma klauzule default.

Pozatym piszesz nie w tym dziale. Przenoszę Skrypty obsługi baz danych => php Początkujacy.
Zdublowany watek został usuniety.


--------------------
scanner.info
Warto pamiętać: KISS, DRY
Go to the top of the page
+Quote Post
mpps
post
Post #3





Grupa: Zarejestrowani
Postów: 242
Pomógł: 0
Dołączył: 14.03.2003
Skąd: Szczecin

Ostrzeżenie: (0%)
-----


problem już został rozwiązany.
tak, switch(); oczywiście ma klauzulę default();, ale szukałem CZEGOŚ NA ZASADZIE switch(); do pracy na bazach danych...
przy okazji: czy jest możliwość zaznaczania gdzieś, że dany temat jest już nieważny (czyt. rozwiązany)?

pozrawiam
marcin

ps.
jestem (prawie) nowym użytkownikiem forum, więc pozwól, że czasami (czyt. bardzo rzadko winksmiley.jpg ) będę popełniał błędy w umiejscawianiu tematów


--------------------
www.mpps.pl
park maszynowy: apache 2.2.22 | php 5.4.0 | MySQL 5.0.10 | phpMyAdmin 3.5.0 | notepad ++ | pilsner urquell
Go to the top of the page
+Quote Post
kszychu
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 2 712
Pomógł: 23
Dołączył: 27.10.2003
Skąd: z kontowni

Ostrzeżenie: (0%)
-----


Cytat(mpps @ 2004-09-01 15:29:00)
ps.
jestem (prawie) nowym użytkownikiem forum, więc pozwól, że czasami (czyt. bardzo rzadko winksmiley.jpg ) będę popełniał błędy w umiejscawianiu tematów

To, że jesteś nowym użytkownikiem nakłada na Ciebie obowiązek zapoznania się z zasadami panującymi na forum, które zostały zawarte w regulaminie.
Jest tam też o tym czym jest bbcode i jak należy tego używać by posty były czytelne dla Ciebie i innych.


--------------------
"Coś się kończy, coś się zaczyna." Andrzej Sapkowski
Go to the top of the page
+Quote Post
mpps
post
Post #5





Grupa: Zarejestrowani
Postów: 242
Pomógł: 0
Dołączył: 14.03.2003
Skąd: Szczecin

Ostrzeżenie: (0%)
-----


tak to już zazwyczaj jest, że to co najważniejsze, często się pomija lub leci po łebkach... lub zapomina guitar.gif

dzięki za przypomnienie & stosować się zobowiązuję winksmiley.jpg

pzdr
m


--------------------
www.mpps.pl
park maszynowy: apache 2.2.22 | php 5.4.0 | MySQL 5.0.10 | phpMyAdmin 3.5.0 | notepad ++ | pilsner urquell
Go to the top of the page
+Quote Post
scanner
post
Post #6





Grupa: Zarząd
Postów: 3 503
Pomógł: 28
Dołączył: 17.10.2002
Skąd: Wrocław




Skoro juz o pomijaniu mowa.
Powiedz dokładnie czego potrzebujesz, bo skoro w kodzie piszesz że potrzeba Ci default a default w switchu jest, to ja sie pytam o co chodzi?


--------------------
scanner.info
Warto pamiętać: KISS, DRY
Go to the top of the page
+Quote Post
mpps
post
Post #7





Grupa: Zarejestrowani
Postów: 242
Pomógł: 0
Dołączył: 14.03.2003
Skąd: Szczecin

Ostrzeżenie: (0%)
-----


Cytat
w pliku index.php znajdują się funkcje include(); odpowiedzialne za otwieranie konkretnych stron (np. z rozszerzeniem *.htm) składających się na tą główną (np. nagłówek, menu z lewej, środek strony i stopka).

Pytanie:
Jak spowodować otwieranie na środku strony (w oparciu o bazę danych) domyślnie pliku, który będzie później podmieniany na strony pokazujące się po kliknięciu na któryś z linków menu?

Upraszczając:
Wchodzimy na stronę www.jakas_domena.pl i otwiera nam się cała strona złożona ze stron includowanych. Dopiero po kliknięciu na link z menu, adres strony zmienia się np. na www.jakas_domena.pl/index.php?id=jakis_rekord (gdzie "jakis_rekord" to indeks w bazie danych) a na miejsce środkowej includowanej strony pokazuje się strona znajdująca się pod adresem przypisanym do linku, który kliknęliśmy.


poszukiwałem skryptu, który byłby podobny do tego, który wcześniej wypisałem ale bardziej odpowiedni w pracy na bazach.
w końcu sam pokombinowałem w czym dopomógł mister tumczasty (poniżej wynik już po dodatkowej modyfikacji) za co punkty na plus waszmościowi się należą winksmiley.jpg :

  1. <?php
  2.  
  3. // while records exists to fetch from table, repeat this action
  4.  
  5. while ($linel = mysql_fetch_row($row_count)) {
  6.  
  7. // construct a hyperlink from the 2 data elements of record in table
  8. echo('<A HREF=\"index.php?id='.$line[0].'\">'.$line[1].'</A><BR>');
  9. if($line[0]==$_GET['id']) $podstr=$line[2];
  10. }
  11. //Wywołanie funkcji odpowiedzialnej za wyświetlenie zawartości pliku przypisanego 
  12. o odpowiedniego linku oraz pliku domyślnego
  13. if(isset($_GET['id'])) {
  14. if(!isset($podstr)){
  15. print(&#092;"Przykro mi - strona, której szukasz,<BR>jest w tej chwili niedostępna.\");
  16. }
  17. else{
  18. include($podstr);
  19. }
  20. }
  21. else
  22. include(&#092;"head.htm\"); // strona domyślna -> tego potrzebowałem!
  23.  
  24.  
  25. ?>


trochę nagmatwałem biggrin.gif

pozdrawiam


--------------------
www.mpps.pl
park maszynowy: apache 2.2.22 | php 5.4.0 | MySQL 5.0.10 | phpMyAdmin 3.5.0 | notepad ++ | pilsner urquell
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 07:45