Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL]Pobieranie danych z 4 tabel
Crea17
post 4.05.2010, 15:48:55
Post #1





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 4.05.2010

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


Witam, jestem początkujący w PHP i mam pewien problem. Otóż mam 4 tabele:

prefix_articles - artID, date, saved, title
prefix_blogss - blogID, date, saved, title
prefix_interviews - interID, date, saved, title
prefix_news - newsID, date, saved, title , published

Data jest zapisana poprzez 14cyfr, czyli microtime czy jakoś tak podobnie to się nazywa

Chcę zrobić skrypt, który będzie pobierał 5 ostatnich rekordów. Dla zobrazowania ma to wyglądać tak:

1. Tytuł Newsa 21.04.2010r
2. Tytuł Artykułu 19.04.2010r
3. Tytuł Newsa 18.04.2010r.
4. Tytuł Wywiadu 1.04.2010r.
5. Tytuł Blogu 20.03.2010r.

Wie ktoś jak napisać zapytanie, żeby takie coś można było wyświetlić poprzez pętle while?
Go to the top of the page
+Quote Post
piotrooo89
post 4.05.2010, 15:52:54
Post #2


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




google -> LIMIT


--------------------
Go to the top of the page
+Quote Post
Crea17
post 4.05.2010, 15:56:27
Post #3





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 4.05.2010

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


Wiem jak działa LIMIT, ale to ma pobrać max 5 rekordów wg daty z tych 4 tabel
Go to the top of the page
+Quote Post
piotrooo89
post 4.05.2010, 15:59:08
Post #4


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




w takim razie:
google -> UNION lub UNION ALL


--------------------
Go to the top of the page
+Quote Post
Crea17
post 4.05.2010, 18:15:10
Post #5





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 4.05.2010

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


Nie idze;/ W zapytaniu dałem 2 tabele:
  1. "SELECT articlesID,date,saved FROM ".PREFIX."articles UNION SELECT newsID,date,saved FROM ".PREFIX."news"


I przy ładowaniu strony zatrzymuje się w tym miejscu gdzie ma być skrypt i dalej się nic nie ładuje

Ten post edytował Crea17 4.05.2010, 18:15:34
Go to the top of the page
+Quote Post
piotrooo89
post 4.05.2010, 18:16:53
Post #6


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




Temat: Jak poprawnie zada pytanie przeczytaj i zdebuguj. a co do kodu czym jest tajemniczy PREFIX?


--------------------
Go to the top of the page
+Quote Post
Crea17
post 4.05.2010, 18:21:20
Post #7





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 4.05.2010

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


PREFIX jest to początek każdej tabeli zdefiniowany wcześniej w pliku z danymi do bazy. np as_asd_

Edit:

Przeczytałem ten temat i po wpisaniu:
  1. ini_set('display_errors','1');


Nic się nie zmienia.

Kod od tego skryptu to narazie tylko zapytanie
  1. $ergebnis = safe_query("SELECT articlesID,date,saved FROM ".PREFIX."articles UNION SELECT newsID,date,saved FROM ".PREFIX."news");


Wyjaśnie odrazu, że safe_query to jedna z funkcji CMS'u.

Wynik tego zapytania można zobaczyć tutaj: http://rewrite.mg-host.pl/


Ten post edytował Crea17 4.05.2010, 18:25:07
Go to the top of the page
+Quote Post
piotrooo89
post 4.05.2010, 18:28:34
Post #8


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




a nie możesz jakoś mysql_error wrzucić tam? spróbuj bezpośrednio do bazy wkleić zapytanie.


--------------------
Go to the top of the page
+Quote Post
Crea17
post 4.05.2010, 18:31:29
Post #9





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 4.05.2010

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


  1. Błąd
  2. zapytanie SQL:
  3.  
  4. "SELECT articlesID,date,saved FROM ws_Ka2_articles UNION SELECT newsID,date,saved FROM ws_Ka2_news"
  5.  
  6. MySQL zwrócił komunikat:
  7.  
  8. #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '"SELECT articlesID,date,saved FROM ws_Ka2_articles UNION SELECT newsID,date,save' at line 1


Edit:

Mój błąd. dałem "" w zapytaniu, No ale tak w bazie działa zapytanie a przez skrypt się zawiesza

Edit2:

Wkleiłem nawet kod z bazy do php i to samo;/

Edit3:

Ok. Działa w skrypcie. wywaliłem to safe_query i dałem mysql_query i działa.

Dzięki za pomoc.

Ten post edytował Crea17 4.05.2010, 18:43:10
Go to the top of the page
+Quote Post
piotrooo89
post 4.05.2010, 18:46:40
Post #10


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




ja sobie zrobiłem podobną bazę jak Ty masz i wszytko fajnie hula:

  1. SELECT artID, date, saved, title
  2. FROM `articles`
  3. UNION SELECT blogID, date, saved, title
  4. FROM blogs


teraz pytanie czy masz poprawną kolejność kolumn? czy kolumny w obu tabelach są takie same?


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 4.07.2025 - 11:29