Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> mysql - JOIN + ograniczanie wyświetlania danych do jednego wystąpienia, pokazanie raz wielokrotnie powtarzanych danych
mpps
post
Post #1





Grupa: Zarejestrowani
Postów: 242
Pomógł: 0
Dołączył: 14.03.2003
Skąd: Szczecin

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


witam,

mam dwie tabele i przykładowe dane:
cat:
id | cat
---------------
1 | aparat
2 | mysz
3 | monitor

oferta:
id | idcat | cat | producent
---------------------------------
1 | 1 | aparat | sony
2 | 2 | mysz | logitech
3 | 1 | aparat | canon
4 | 3 | monitor | nec
5 | 2 | mysz | a4tech
6 | 3 | monitor | lg
7 | 1 | aparat | minolta
8 | 2 | mysz | media-tech

pytanie:
jak zadać pytanie do bazy, aby kategorie (cat) wyświetlić tylko raz, mimo to, że w tabeli 'oferta' powtarzają się wielokrotnie?
  1. $result = mysql_query("select distinct * from cat t1 left outer join oferta t2 on (t1.cat = t2.cat)") OR die(mysql_error());

w zapytaniu brakuje pewnie 'where', ale no właśnie... 'where' co?
i jak później wyświetlić wyniki?
  1. <?php
  2. while($rek = mysql_fetch_array($result)){
  3. print $rek[1];
  4. }
  5. ?>

wyświetla wszystko dobrze, poza tym, że wyświetla właśnie wszystkie wystąpienia, a nie tylko raz.

pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
mpps
post
Post #2





Grupa: Zarejestrowani
Postów: 242
Pomógł: 0
Dołączył: 14.03.2003
Skąd: Szczecin

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


@Cienki1980
to, że jednym z rozwiązań są warunki, to już wiem.
zastanawiam się, JAK zbudować taki warunek.
zgadzam się z Tobą, że w zapytaniu samo 'where' nic nie da.

@frickle
CAT wykorzystuję do powiązań z innymi tabelami - do mojego pytania nie ma to znaczenia.
wydaje mi się, że nie zrozumiałeś pytania, może zbyt zawile je zadałem...(?)
wynikiem ma być wyświetlenie:

aparat
mysz
monitor

(które będą linkami do kategorii, po kliknięciu których pokaże się lista produktów danej kategorii), a nie:

aparat
aparat
aparat
monitor
monitor
monitor
mysz
mysz
mysz

(jeśli byśmy w zapytaniu ustawili parametr sortowania wg 'cat'), czyli wyświetlenie WSZYSTKICH kategorii WIELOKROTNIE.

po zastanowieniu się zaczynam uważać rozwiązanie za bezsensowne...
przy kilku produktach, to możeby się i sprawdziło ale przy kilku tysiącach produktów przejście przez bazę powodowałoby chyba zbytnie obciążenie...

mimo to, jeśli ktoś z Was ma jakiś pomysł na rozwiązanie problemu, to proszę o podpowiedzi, może się w przyszłości przyda!

pozdrawiam i dzięki
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: 28.12.2025 - 05:54