Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 28 Pomógł: 0 Dołączył: 2.03.2010 Skąd: ta pewność? Ostrzeżenie: (0%)
|
Witam otóż posiadam FORUM IBP3.
Dążę do tego by stworzyć stronę główną, która to zawiera menu z odpowiednimi subkategoriami z forum => każda subkategoria zawiera w sobie odpowiednio związane z nią tematy a więc jest aktywnym odnośnikiem => gdzie po kliknięciu wyświetla się lista tematów z danej kategorii; a że raczkuję w PHP być może nawet się czołgam, to proszę o porady.
Funkcja wyświetla PID oraz POST, który sobie wybrałem, natomiast chciałbym by zamiast PID wyświetlany był odpowiedni tytuł danego postu, lecz znajduje się on w innej tabeli TOPICS => TITLE; Ja natomiast nie wiem w jaki sposób wyświetlić dane z dwóch tabel w jednej funkcji - to moje pytanie. Pozdrawiam serdecznie Ten post edytował Bellum 2.03.2010, 22:35:47 |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 28 Pomógł: 0 Dołączył: 2.03.2010 Skąd: ta pewność? Ostrzeżenie: (0%)
|
Ponieważ powinieneś połączyć te posty z tematami, ale w warunku nie określasz, że posty mają być tylko z tych tematów już ograniczonych. Najlepiej jest połączyć posty z tematami po polu łaczącym i w warunku dodać, że interesują Cię tylko rekordy, gdzie kategoria ma określoną wartośc. To już się realizuje nie łaczeniem tabel poprzez przecinek, ale używając ON i wskazując po czym łączysz obie tabele. A więc: Zwróć uwagę na stosowanie aliasów (p oraz t). Używam ich by odróżnić kolumny w obu tabelach. W obu bowiem na bank jest kolumna ID i bez tego baza nie wiedziała by które id używam do łączenia. Przez alias wie, że t.id to id w tabeli topics, a dodatkowo, że forum_id ma wyszukać także w tej tabeli. Zaś pola ma z określonych tabel także wybierać poprzez sprawdzenie aliasu. Poza tym polecam Ci sprawdzić co powoduje użycie zamiast JOIN także LEFT JOIN oraz RIGHT JOIN. Myślę, że może Cię to zaciekawić. Dzięki! działa perfekcyjnie poza szczegółami: W tabeli posts nie ma czegoś takiego jak title_id jest topic_id a w topics nie ma id tylko tid W rezultacie poprawnie działający skrypt wygląda tak: Z 20 minut się głowiłem o co w tym kodzie w ogóle chodzi, racją jest, że bliższe zapoznanie się z php nie jest wcale takie trudne, może i jest frustrujące ale efekty mniam. Opóźniły mnie problemy z serwerem o ładne dwa tygodnie. Wracając do meritum, owe moje głowienie trapiło czy przypadkiem tytuły się nie powtarzają, wyświetlałem listę nazw tytułów gdyż nie zauważyłem 2x wierszy[0] co oczywiście dawało podwójny efekt nazw tytułów; po usunięciu tego błędu, wszystko wróciło do normy jednak, nadal niektóre tytuły się powtarzały a jasne przecież jak słońce jest, że tematy zawierały również odpowiedzi użytkowników! i co naturalne w tym przypadku będzie wyświetlanie ich postów; tak już jest jak szuka się dziury w szczegółach a każda treść pod tym samym tytułem się różniła (IMG:style_emoticons/default/laugh.gif) . Dlatego mam do ciebie kolejne pytanie thek oraz do innych jaki parametr dodać do skryptu by wyświetlało tylko pierwsze posty z tematów. EDIT: Poradziłem sobie samodzielnie: Jest też drugi sposób new_topic Działa poprawnie i nie występują problemy w obu przypadkach. Ten post edytował Bellum 19.03.2010, 21:31:36 |
|
|
|
Bellum [MySQL][PHP]Rekordy z dwóch tabel w jednej funkcji 2.03.2010, 22:35:02
athei http://www.google.com/search?q=mysql+join 2.03.2010, 22:43:22 
Bellum Cytat(athei @ 2.03.2010, 22:43:22 ) h... 2.03.2010, 22:54:09
thek Bo tak się nie łączy tabel. Tabele łączy się od ra... 2.03.2010, 23:14:49 
Bellum Cytat(thek @ 2.03.2010, 23:14:49 ) Bo... 2.03.2010, 23:26:02
thek Skoro kupiłeś tę książkę, to wspomagaj się nią. Po... 2.03.2010, 23:53:20 
Bellum Cytat(thek @ 2.03.2010, 23:53:20 ) Sk... 3.03.2010, 01:19:09
thek Ponieważ powinieneś połączyć te posty z tematami, ... 3.03.2010, 09:28:36 ![]() ![]() |
|
Aktualny czas: 29.12.2025 - 19:04 |