Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]Menu połączone z bazą i zaczytywanie treści, jestem jeszcze noobem więc bez zgryźliwości proszę :)
gregory_xx
post
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 30.01.2010

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


Witam,
mam menu wprowadzone w bazie danych (tabela MENU), i chciałbym aby po wyświetleniu menu i wyborze linka zaczytał mi treść która jest umieszczona w bazie danych do danego menu dana treść

Tak wygląda link:
  1. $wynik=mysql_query("SELECT * FROM menu ORDER BY id") or die ("Błąd w zapytaniu");
  2. while($rekord = mysql_fetch_assoc ($wynik)) {
  3. $id = $rekord['id'];
  4. $nazwa = $rekord['nazwa'];
  5.  
  6. print '<a class="menulewe" href="index.php?page='.$nazwa.'">&nbsp;'.$nazwa.'</a>';
  7.  
  8. }


A tak kod strony która ma wyświetlać treść:
  1.  
  2. $strony['e404'] = '404.htm';
  3.  
  4. if (isset($_POST['page']) && isset($strony[$_POST['page']])) {
  5. include($strony[$_POST['page']]);
  6. } elseif (isset($_GET['page']) && isset($strony[$_GET['page']])) {
  7.  
  8. $zaw = $_GET['page'];
  9. $wynik=mysql_query("SELECT $zaw FROM trescstrony") or die ("Błąd w zapytaniu");
  10. $rekord = mysql_fetch_assoc ($wynik);
  11. $tresc = $rekord['tresc'];
  12.  
  13. print $tresc;
  14.  
  15. } elseif (isset($_GET['page']) || isset($_POST['page'])) {
  16. include($strony['e404']);
  17. }
Go to the top of the page
+Quote Post
tomm
post
Post #2





Grupa: Zarejestrowani
Postów: 142
Pomógł: 28
Dołączył: 7.04.2008

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


tablica $strony zawiera wszystkie dozwolone wartości - czy tak?
jaki błąd Ci wyrzuca, co sie dzieje?
Go to the top of the page
+Quote Post
gregory_xx
post
Post #3





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 30.01.2010

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


odpala tylko plik 404.htm i po kliknięciu w odnośnik nic się nie dzieje
Go to the top of the page
+Quote Post
bemol
post
Post #4





Grupa: Zarejestrowani
Postów: 286
Pomógł: 29
Dołączył: 5.04.2007
Skąd: Rymanów Zdrój/Rzeszów

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


ja bym zrobił to troszkę inaczej. Treść każdej strony trzymałbym w osobnych tabelach (nazwa tabeli taka jak w tabeli MENU pole nazwa).

W indeksie inkludowałbym sobie $_GET'em tę właśnie stronę w którą kliknąłbym w menu w ten sposób:
  1. include($_POST['page'].'.php');


Przy dodawaniu takich stron tworzyłbym dynamicznie pliki *.php z daną nazwą. W samym pliku byłoby połączenie z bazą danych i wybranie treści (stąd byłaby tylko 1 zmienna - nazwa tworzącej plik dynamicznie).
Go to the top of the page
+Quote Post
tomm
post
Post #5





Grupa: Zarejestrowani
Postów: 142
Pomógł: 28
Dołączył: 7.04.2008

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


a po kliknięciu w odnośnik w pasku adresu pojawia się adres jakiego oczekiwałeś?
Go to the top of the page
+Quote Post
gregory_xx
post
Post #6





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 30.01.2010

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


pojawia się adres
Go to the top of the page
+Quote Post
tomm
post
Post #7





Grupa: Zarejestrowani
Postów: 142
Pomógł: 28
Dołączył: 7.04.2008

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


czyli wykłada się na warunku
elseif (isset($_GET['page']) && isset($strony[$_GET['page']]))

$_GET['page'] istnieje, więc czy napewno masz nazwę strony w tablicy $strony?
wytnij na chwilę drugą część warunku i sprawdź
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 21.12.2025 - 12:05