Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z pętlą while
Forum PHP.pl > Forum > PHP
Sarinis
Jestem w trakcie pisania forum na zaliczenie i próbowałem na rózne sposoby ugryźć ten problem.
Sprawa wygląda nastepująco wyświetlam pętlą while wszystkie działy z forum jakie są umieszczone w bazie i umieszczam w kazdym z nich linka do podstrony. Problem pojawia się w momencie kiedy chce zastosować ten typ rozwiązania i tak:


Kod
echo "<tr><td width=50>Autor:</b></td>";
        echo "<td><b>Temat Postu:</b></td>";
        echo "<td width=10><b>Odpowiedzi:</b></td>";
        echo "<td width=10><b>Wyswietlen:</b></td></tr>";
        

while($r = mysql_fetch_assoc($result)) {            
        echo "<tr><td>". $r['autor']. "</td>";
        echo "<td>" .'<a href="wyswietlpostywtemacie.php' . SID . '">' . '<font size="4">' .$_SESSION['tytul']= $r['tytul']. '<font size="2">' . "<br>Opis:".$r['krotki_opis']."</font></td>" . '</a>';
        echo "<td>".$r['licznik_odpowiedzi']."</td>";
        echo "<td>".$r['licznik_odwiedzin']."</td></tr>";


SID pamięta $_SESSION['tytul'] ale tylko ostatnią wytypowaną z pętli.
Czyli mialem:
1. To jest pierwszy post ktory prowadzi do strony xxx.php ktora odczyta Tytul Postu i wyswietli posty uzytkownikow.
2. To jest drugi post ktory prowadzi do strony xxx.php ktora odczyta Tytul Postu i wyswietli posty uzytkownikow.
3 To jest kolejny post ktory prowadzi do strony xxx.php ktora odczyta Tytul Postu i wyswietli posty uzytkownikow.

Moje pytanie brzmi. Czy sposób który uzywam to nie wywazanie otwartych drzwi? Jest prościejszy? jesli tak prosze chociaz o skierowanie mnie na własciwe tory. A jesli sposób jest dobry to jak wyłuskać tą metodą tytul np postu 2 giego czy pierwszego po kliknieciu na drugi badz pierwszy, a nie tytul trzeciego jak za kazdym razem ma to miejsce.

Przyznam ze php ucze sie sam wiec wszelkie rady bylby mile widziane. 
I ostatnie pytanie na które nie znalazlem nigdzie odpowiedzi.
Jesli w przeglądarce jest adres  www.jakasstrona?id=342  to ta strona naprawde istnieje na serwerze o nazwie www.jakasstrona?id=342 ?Chyba nie może wkoncu zawiera zastrzezone znaki...czy w tym wypadku został uzyty header o adresie www.jakasstrona?id='.SID. i tak dalej...

Pozdrawiam Sar.
rzymek01
Nie rozumiem w tym kodzie:
Kod
echo "<td>" .'<a href="wyswietlpostywtemacie.php' . SID . '">' . '<font size="4">' .$_SESSION['tytul']= $r['tytul']. '<font size="2">' . "<br>Opis:".$r['krotki_opis']."</font></td>" . '</a>';


po co to jest $_SESSION['tytul']= $r['tytul']?

mógłbyś wytłumaczyć? smile.gif

edit:
chodzi ci o wyświetlenie postów jak ktoś kliknie na dział?
Sarinis
Pobiera tytuły z tabeli bazy MySQL I czyni z kazdego z nich osobna Hyperlink do Strony PHP w której  $_SESSION['tytul'] odczytac wartość że kliknięto akurat ten post i na podstawie tego tytulu wybrac SELECTem .... where tytul=$_SESSION['tytul']   z poprzedniej strony (kod wyzej) Mój problem polega na tym że odczytuje $_SESSION['tytul'] ale zawsze ostatni w tym przypadku przypadku $SESSION['tytul'] powinien zawierac id = 1 podczas klikniecia na post pierwszy a zawiera id = 2         ktory odpowiada ostatniemu postowi z petli   (Zasady Pisania na forum)

r$['tytul'] << to licznik kiedy jest rowne 0 wychodzi z petli while bo nie ma co juz wypisywac To zapewne wiadomo z miejsca. Czy to jest dobrze nie daje glowy znalazlem na jednym z manualu. Wypisuje mi wszystko z bazy więc spełnia swoją funkcję

Chodzi o Wyświetlenie postów które juz działa Wlasnie dzieki tej petli While I teraz chciałbym po kliknięciu na np "Wprowadzenie" zebym na następnej stronie mógł $_SESSION['tytul'] odczytać echo $_SESSION['tytul'];    ktory wypluje mi ID: 1    a nie ID 2 , 3,4,5, (nie wazne ile tam postów dodam zawsze zwraca ID ostatniego postu )

Potrzebuje tego do rozpoznania ze delikwent wlasnie kliknął na ten a nie inny post...w celu wyswietlenia jego zawartosci (wypowiedzi innych panów) 

rzymek01
z $_SESSION w tym wypadku Ci nie wyjdzie tongue.gif Użyj $_GET, mianowicie:

Kod
echo '(...)<a href="wyswietlpostywtemacie.php?topic_id='.$zmienna.'">(...)'; jeszcze tego SIDa sobie do linku doklej


no i w wyswietlpostywtemacie.php patrzysz po $_GET['topic_id'] jaki temat został kliknięty

i w MySQL w skrócie: where tytul=$_GET['topic_id']

PS. tylko mi nie mów, że identyfikujesz tematy po tytule, a nie po id
PS2. jak rozumiem $r['tytul'] to jest int?
PS3. Sprawdzaj poprawność zmiennej $_GET['topic_id']
Sarinis
Działa, dzieki ci wielkie. Brakowało mi fundamentalnej wiedzy o tym sposobie przesylania danych.
yahoo.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.