Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Odczytywanie z 2 tabeli z MySQL
Forum PHP.pl > Forum > PHP
alkesz1718
Witam, mam pewien problem otóż aktualizuję pewien moduł do nowszej wersji swojego oprogramowania strony, niestety wiele w nowym oprogramowaniu się zmieniło jeśli chodzi o bazę danych i moduł ciągle ma jakieś problemy... główne przyczyny są takie że brakuje kolumny z danej tabeli a te kolumny są akurat w innej tabeli, jak dodam brakującą kolumnę do tabeli to rozwala mi się cała strona przez co chcę połączyć odczytywanie 2 tabel w 1...

aktualny kod na wyświetlanie tabeli:
  1. $sql_result = $db->query( "SELECT id, title, category, alt_name, news_read FROM " . PREFIX . "_post WHERE approve=1 ".$category_true." ORDER BY news_read DESC LIMIT ".$top100_config['news_num'] );

z czego kolumna news_read jest w tabeli _post_extras

Więc da się i jak to zrobić by tą kolumnę odczytywało mi z _post_extras

PS. Dla ułatwienia daję 2 obrazy z tych 2 tabel:
1. _post

2. _post_extras (w rzeczywistości na końcu nie ma approve ja ją dodałem by coś sprawdzić)
danieljoz
Zrób sobie widok tych 2 tabel i w tedy wszystko z widoku odpytujesz
alkesz1718
hmmm zrobiłem na przykładzie innego kodu z systemu który również odczytuje z 2 tabel i zrobiłem coś takiego:
  1. $sql_result = $db->query( "SELECT id, title, category, alt_name, news_read FROM " . PREFIX . "_post " . PREFIX . "_post_extras WHERE approve=1 ".$category_true." ORDER BY news_read DESC LIMIT ".$top100_config['news_num'] );


Ale wtedy błąd MySQL wyskakuje:


A jak dam tak:
  1. $sql_result = $db->query( "SELECT id, title, category, alt_name, news_read FROM " . PREFIX . "_post_extras " . PREFIX . "_post WHERE approve=1 ".$category_true." ORDER BY news_read DESC LIMIT ".$top100_config['news_num'] );


To błąd mam taki:



Poradziłem sobie czytając chyba z tysiące poradników o łączeniu kolumn i po wielu nieudanych próbach w końcu udało mi się dojść do sedna i zadziałał taki kod:

  1. $sql_result = $db->query( "SELECT a.id, a.title, a.category, a.alt_name, b.news_read FROM " . PREFIX . "_post a INNER JOIN " . PREFIX . "_post_extras b WHERE approve=1 ".$category_true." ORDER BY news_read DESC LIMIT ".$top100_config['news_num'] );

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.