Switch i podstrony wyciągane z MySQL

0

Witam,
Mam problem z switchem i podstronami wyciąganymi z MySQL. W index.php mam switcha i wszystko fajnie działa do dopóki nie wejdę na stronę "Nowinki" i nie wejdę na podstronę wyciągniętą z MySql bo tam mam skrypt który zmienia parametr $_GET['page'] i mam problem żeby wyświetlać menu i zawartość pobraną z bazy. Kombinuje z tym od 2 dni i jakoś mi bardzo ciężko idzie. Myślę że w linku musiałby być podwójny parametr np: index.php?dzial=news&page=44 ale nie mam pojęcia jak to wykonać. Nie potrafię tego wytłumaczyć dokładniej o co mi chodzi :D

Switch z index.php

<?php
error_reporting(E_ALL ^ E_NOTICE);
echo '<a href="index.php">Home</a><br>';
echo '<a href="index.php?dzial=news">Nowinki</a><br>';
echo '<a href="index.php?dzial=omnie">O mnie</a><br>';
 

 switch($_GET['dzial']) {
    case 'news':
        include 'news.php';
    break;
 
    case 'omnie':
        echo 'Coś o mnie';
    break;
 
    default:
        include 'glowna.php';

Nowinki

$result = mysql_query("SELECT id, name, description FROM test WHERE visible = 1 ORDER BY id "); 
        if(mysql_num_rows($result) > 0) {
            while($row = mysql_fetch_array($result)) {
                echo nl2br('<a href="index.php?page='.$row['id'].'">'.($row['name']).'</a><br>');
            }
        } else {
            echo '<p>Brak stron!</p>';
        }
0

Dlaczego wszystko opierasz o jeden plik - index.php?

0

Ale co się dzieje jak wejdziesz na newsy? Wyświetla się główna czy jak?

0

Pozdrawiam kolegę z Tychów :D
Nie mam wszystkiego w index.php. W index jest tylko switch który wczytuje podstrony "fizyczne". Kod odpytujący bazę jest w podstronie "Nowinki" który tworzy strony z szablonu. Jeżeli chodzi o tą linijkę

echo nl2br('<a href="index.php?page='.$row['id'].'">'.($row['name']).'</a><br>');

to kombinowałem na rożne sposoby ale bez skutku.

Sarrus napisał(a):

Ale co się dzieje jak wejdziesz na newsy? Wyświetla się główna czy jak?

Powiem że teraz to już chyba nic się nie wyświetla bo zamieszałem jak diabli, ale miałem taki stan że wyświetlało stronę główna a pod nią rekordy z bazy

0

Nadal nie wiem jakie są twoje intencje

Spójrz tutaj:

 switch($_GET['dzial']) {
    case 'news':
        include 'news.php';
    break;
 
    case 'omnie':
        echo 'Coś o mnie';
    break;
 
    default:
        include 'glowna.php';

Gdy nie podasz dzialu zincluduje ci glowna.php.
Tutaj natomiast nie podajesz działu. Gdzie wczytujesz zmienną page?

echo nl2br('<a href="index.php?page='.$row['id'].'">'.($row['name']).'</a><br>');
0

Wyobraźmy sobie tabelę z dwoma kolumnami, w lewej jest menu a w prawej jest treść includowana ze switcha. Po kliknięciu w news ma się includować skrypt który pobiera dane z sql i prezentuje je w postaci linków-prawa kolumna. Po kliknięciu w dany link (sql) ma się otworzyć podstrona w prawej kolumnie a w lewej ma pozostać menu oparte na switchu.

1

No to zrób:

echo nl2br('<a href="index.php?dzial=news&page='.$row['id'].'">'.($row['name']).'</a><br>');

Albo view_news zamiast news.

0

Spróbuje tak zrobić i napiszę z jakim skutkiem :)

Działa. Dzięki za wszystkie odpowiedzi.

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