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
Cienki1980
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

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


W zapytaniu tego nie osiągniesz, bo SQL zwróci tyle wierszy ile będzie rekordów w oferta.

Jeżeli to wyświetlasz w php to porób tam warunki, które będą wyświetlały tylko raz powtarzającą sie kategorię.
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: 26.12.2025 - 17:25