[MYSQL][PHP] Skrypt forum - dynamiczne odonśniki


(bolok) #1

(Marcin240) #2

Jeżeli dobrze zrozumiałem chodzi ci o pobieranie parametrów z paska adresu metodom GET.

/forum/dzial.php?id_tematu=1

chcąc pobrać id_tematu wpisz w pliku dział:

$id=$_GET[id_tematu]

(M@ster) #3

A dokładnie to:

$id = $_GET['id_tematu'];

:slight_smile:


(bolok) #4

Nie, źle mnie zrozumieliście chodzi mi o to żeby zamiast takiego odnośnik przy każdym temacie występowały takie odnośniki:

dzial.php?id_tematu=1

dzial.php?id_tematu=2

itd.

gdzie liczby (1, 2 itp.) są to numery (id) rekordów z bazy mysql. Przepraszam że od razu nie wytłumaczyłem tego jasno :?


(Marcin240) #5
while($wartosc=mysql_fetch_row($wynik))

{

echo "".$wartosc[1]."";

echo "".$wartosc[2]."";

echo "";

echo "".$wartosc[3]."";

}[/code]

W miejscu $wartosc[id] podstaw id ponieważ nie mam pewności na którym miejscu trzymasz id, choć pewnie na 1.


(bolok) #6

ID trzyma na 4-tym miejscu ^^ Kod który podałeś działa świetnie tylko teraz pozostaje rzecz najważniejsza i zarazem najtrudniejsza. Jak zrobić coś takiego, żeby po kliknięciu w dany odnośnik pojawiła się na nowej stronie mała tabela z treścią tematu (czyli w zależności od id tematu pojawiałaby się treść posta o danym numerze id pobrana z bazy mysql).


(Marcin240) #7

Więc stwórz nową stronę np. view.php, zrób sobie tam tabele itd.

i daj taki fragment kodu.

$id=$_GET['id_tematu'];

$zapytanie = "select * from nazwa_tabeli where id = $id"

Potem sobie wyrzuć to na ekran, ale to już chyba potrafisz.


(bolok) #8

Marcin240 , dzięki wielkie nie wiem jakbym sobie bez Ciebie poradził =D> Niestety napotakłem następny problem. Mogę już na swoim "pseudo forum" dodawać i przeglądać tematy, ale przydała bys się jeszcze opcja dodawania odpowiedzi. W tym celu stworzyłem w bazie nową tabele o nazwie posty i dodałem do niej 3 kolumny (id, tresc, user). Stworzyłem sobie również prosty formularz wyświetlający się po kilknięciu w przycisk Odpowiedz. Tylko teraz nie wiem jak zrobić żeby wpisana treść i nazwa autora w tym formularzu była wyświetlana w pliku view.php i żeby skrypt zapamiętywał dla każdego tematu dodane odpowiedzi. Trochę zagmatwanie to napisałem ale myślę że zrozumiecie o co mi chodzi. Chcę poprostu żeby przycisk Odpowiedz miał taką funkcjonalność jak na każdym forum.Listing pliku view.php:

<?php


$id=$_GET['id_tematu'];

$wynik=mysql_query("select * from tematos where id = $id");	 

echo "

| ".$wartosc[1]." | ".$wartosc[2]." | | ".$wartosc[3]." |
| '; $zap2 = mysql_query("select tresc from tematos where id = $id"); $rekord2 = mysql_fetch_array($zap2); $w = $rekord2['tresc']; echo $w; echo ' |
| Powrot do stron glownej forum |

"; echo " "; ?>[/code]


(Marcin240) #9

Nie wiem jak robią to profesjonaliści ale wymyśliłem 2 sposoby na rozwiązanie takiego problemu (są dość podobne):

  1. A więc w tabeli w której trzymasz posty dodaj jeszcze jedno pole o nazwie id_matki(tyle że ono ma nie mieć wartości auto_increment) w którym będziesz trzymał id postu do którego jest to odpowiedź, a jeżeli jest to nowy wątek to pole id_matki ustawiasz na 0.

więc na stronie głównej wyciągasz wszystkie posty z bazy których id_matki jest równe 0.

A w pliku view.php musisz wyciągnąć najpierw post główny czyli ten z id_matki jest równy 0 a następnie posty których id_matki jest równe id matki.

Nie jest to procesjonalne rozwiązanie ale może zadziałać jak wymyślę coś lepszego to tu napisze