MySQL - łączenie tabel


(Zagorskid) #1

Witam!

Mam mały problem, z którym męczę się już od pewnego czasu...

Otóż: w bazie mam kilka tabel takich jak ta (dla każdego albumu w galerii taki sam schemat, inne dane):

11f230ed39f5dd8fm.jpg

Jak połączyć wszystkie tabele galerii i wyciągnąć np. 3 rekordy (z połączenia) o najwyższej średniej ocen (kolumna 'srocen') albo najwyższej oglądalności ('odslony')?

Da się to jakoś zrobić (bez zmiany struktury tabel)?


(Fora) #2

domyślam sie ze chodzi o relacje

przeczytaj ten artykuł to wszystko ci sie wyjaśni :slight_smile:

http://webcity.pl/webcity/artykuly.php/t/12

a do wyciągania jest taki dzinks w mysql jak where


(Zagorskid) #3

Taa... Nad tym tyle przesiedziałem, tyle że w mojej książce do php nazywa się to "łączeniem tabel"...

Wszystko pięknie do momentu kiedy dodam ORDER BY odslony DESC. A to jeszcze nie wszystko, bo ustawić muszę jeszcze LIMIT 0, 2. Wywala błąd, że nie jest to poprawny zasób MySQLa...


(Fora) #4

pokaż całe polecenie podumamy :slight_smile:

a dlaczego dajesz LIMIT 0,2 ?? juz wiem ;]

moze to ci pomoże

$zapytanie="SELECT * FROM wyszukiwarka WHERE opis LIKE '%$searchtext%' ORDER by id DESC" LIMIT 0,10;

(Zagorskid) #5

Moment... Próbuję coś nowego - zapis wszystkich tabel jako jedną wielką tabelę tymczasową...

Żeby wyświetlić tylko 3 naj-wyżejoceniane/nowsze/popularniejsze obrazki :slight_smile:

Złączono Posta : 30.08.2006 (Sro) 15:54

<?php

        $zapytanie = mysql_query("SELECT * FROM galeria_klusek2, galeria_ludzie2 WHERE com LIKE '1'");



        while($wiersz = mysql_fetch_array($zapytanie))

        {

          echo 'id: '. $wiersz['id']. '
';

          echo 'Zdjęcie: '. $wiersz['zdjecie']. '
';

          echo 'Opis: '. $wiersz['opis']. '
';

          echo 'Odsłony: '. $wiersz['odslony']. '


';

        }

?>[/code]

http://zagorskid.info/test2.php


(adpawl) #6

Tak dla pewności spytam ...czy aby nawiązałeś wcześniej połaczenie z bazą?

Sprawdź cos w tym stylu:

Możesz jeszcze kombinować z:

:wink:


(Zagorskid) #7

No ba :mrgreen: . Połączenie to podstawa :wink:.

Zrobiłem to trochę inaczej, ale w końcu mi się udało: http://zagorskid.info/tescik.php :smiley: