Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: pobieranie
Forum PHP.pl > Forum > Bazy danych > MySQL
peterlan
Witam,

uprzedze ze jestem zielony,

mam pytanko:

mozna takie pobieranie jakos polaczyc?

  1. $promo=mysql_query("SELECT * FROM bizuteria ORDER BY id DESC LIMIT 12");
  2. $promo=mysql_query("SELECT * FROM zegarki ORDER BY id DESC LIMIT 12");


gdy wpisze cos takiego:

  1. $promo=mysql_query("SELECT * FROM zegarki bizuteria ORDER BY id DESC LIMIT 12");

to pobiera mi tylko z tabeli zegarki
viking
Zrobiłeś alias czyli niejawne wywołanie zegarki AS bizuteria. Przecinek pomiędzy.
peterlan
czyli cos takiego?

$promo=mysql_query("SELECT * FROM uhren AS schmuck WHERE active='1' ORDER BY id DESC LIMIT 12");

hmm, moze mi ktos powiedziec czy cos takiego jest mozliwe w ogole, by pobierac na przemian dane z dwoch tabel?

Tz. mam dwie tabele, bizuteria i zegarki i chcialbym by na glownej stronie pojawialy sie na przemian nowo wprowadzone oferty, z tych tabel.
phpion
Skorzystaj z UNION by w jednym wyniku zapytania SQL otrzymać dane z 2 tabel. Wyświetlanie na przemian zrób już po stronie PHP.
mar1aczi
Jeśli struktura tych tabel czy też dokładniej dane, jakie chcesz pobrać z obu tabel będą mieć tą samą ilość kolumn to można skorzystać z UNION.

Edit: phpion mnie ubiegł smile.gif
peterlan
Czyli cos takiego?

  1. $promo=mysql_query("SELECT * FROM zegarki WHERE active='1' UNION SELECT * FROM bizuteria WHERE active='1' ORDER BY id DESC LIMIT 12");
mmmmmmm
  1. SELECT * FROM (SELECT * FROM zegarki WHERE active='1' LIMIT 12) t1 UNION ALL SELECT * FROM (SELECT * FROM bizuteria WHERE active='1' LIMIT 12) t2 ORDER BY id


EDIT: I zrezygnuj z *
peterlan
sam juz nie wiem, ale nie dziala.
mar1aczi
Nazwy kolumn oraz ich ilość z pierwszego i drugiego podzapytania masz identyczne? Zajrzałeś do wskazanego kawałka dokumentacji?
mmmmmmm
W normalnym DBMS nazwy nie muszą być takie same. Muszą być jednak dokładnie takie same pod względem ilościowym, jak i jakościowym (tego samego typu).
Np.
  1. SELECT '2013-01-01'::text
  2. UNION ALL
  3. SELECT '2013-01-01'::timestamp

na PostgreSQL powoduje błąd: BŁĄD: UNION typy text i timestamp without time zone nie mogą być dopasowane
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.