Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Rekordy z dwóch tabel w jednej funkcji
Bellum
post
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.


  1. $mysql = "SELECT pid,post FROM posts WHERE topic_id IN(7)";
  2. $wykonaj = @mysql_query($mysql) or die('<br />Niepoprawny wiersz bądź kolumna<br />'.mysql_error());
  3. echo '<DIV ID="MENU"><dl id="menu0">';
  4. while ($wiersz = mysql_fetch_row($wykonaj))
  5. {
  6. echo '<dt>'. $wiersz[0] .'</dt><dd>'. $wiersz[1] .'</dd>';
  7. }
  8. echo '</dl></DIV>';


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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
thek
post
Post #2





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Bo tak się nie łączy tabel. Tabele łączy się od razu za FROM a jeszcze przed WHERE (no chyba, że łączymy je pisząc odpowiedni WHERE (IMG:style_emoticons/default/winksmiley.jpg) ). Pooglądaj przykłady z użycia JOIN różnych to na pewno złapiesz jak składnia ma wyglądać. Najlepiej poczytaj jakiś podstawowy, prosty kurs SQL netowy, a powinieneś zrozumieć to dość szybko. Myślę, że wpisanie w google frazy: sql kurs join wyświetli Ci wiele przydatnych materiałów poglądowych :)Na szybko wybrałem kilka przykładów JOIN z manuala byś obejrzał:
  1. SELECT * FROM table1, table2;
  2. SELECT * FROM table1 INNER JOIN table2 ON table1.id=table2.id;
  3. SELECT * FROM table1 LEFT JOIN table2 ON table1.id=table2.id;
  4. SELECT * FROM table1 LEFT JOIN table2 USING (id);
  5. SELECT * FROM table1 LEFT JOIN table2 ON table1.id=table2.id LEFT JOIN table3 ON table2.id=table3.id;


Ten post edytował thek 2.03.2010, 23:17:26
Go to the top of the page
+Quote Post
Bellum
post
Post #3





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 2.03.2010
Skąd: ta pewność?

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


Cytat(thek @ 2.03.2010, 23:14:49 ) *
Bo tak się nie łączy tabel. Tabele łączy się od razu za FROM a jeszcze przed WHERE (no chyba, że łączymy je pisząc odpowiedni WHERE (IMG:style_emoticons/default/winksmiley.jpg) ). Pooglądaj przykłady z użycia JOIN różnych to na pewno złapiesz jak składnia ma wyglądać. Najlepiej poczytaj jakiś podstawowy, prosty kurs SQL netowy, a powinieneś zrozumieć to dość szybko. Myślę, że wpisanie w google frazy: sql kurs join wyświetli Ci wiele przydatnych materiałów poglądowych (IMG:style_emoticons/default/smile.gif)

Cóż ja wypłynąłem na głębsze wody kupując PHP i MySQL. Tworzenie stron WWW. Vademecum profesjonalisty PHP 5, równie dobrze mogłem zacząć kurs czarnej magii. Wysilę jeszcze aktywne mięśnie by usiedzieć i rozwiązać ten problem a jak się nie uda, to powrócę (IMG:style_emoticons/default/winksmiley.jpg) .

Pozdrawiam


  1. SELECT * FROM table1, table2;


Racja, robiłem tak tyle że nie stawiałem wtedy przecinka..., no ale skoro ładnie działa, to na laurach nie spoczywam.
Dzięki.


Ten post edytował Bellum 2.03.2010, 23:33:19
Go to the top of the page
+Quote Post

Posty w temacie


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: 3.10.2025 - 03:43