Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Pobranie wartości z 2 tabel jednocześnie
MateuszRyaN
post 28.09.2012, 18:44:58
Post #1





Grupa: Zarejestrowani
Postów: 84
Pomógł: 0
Dołączył: 10.11.2010
Skąd: Jastrzębie Zdrój

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


Witam, mam 2 tabele:
"kontrahenci"
  1. +----------------+------------------+
  2. | id_kontrahenta | kontrahent_nazwa |
  3. +----------------+------------------+
  4. | 1 | firma_1 |
  5. | 2 | firma_2 |
  6. | 3 | firma_3 |
  7. +----------------+------------------+

"cennik"
  1. +----+----------------+--------+----------------+
  2. | id | id_kontrahenta | cena | artykul |
  3. +----+----------------+--------+----------------+
  4. | 1 | 1 | 11.00 | Ręczniki |
  5. | 2 | 1 | 22.00 | Szmaty |
  6. | 3 | 1 | 33.00 | Obrusy |
  7. | 4 | 1 | 44.00 | Poszwy |
  8. | 7 | 2 | 111.00 | Kołddry |
  9. | 8 | 2 | 222.00 | Poduszki |
  10. +----+----------------+--------+----------------+


Próbuje uzyskać z tego taki efekt:

firma_1
Ręczniki 11.00
Szmaty 22.00
Obrusy 33.00
Poszwy 44.00

firma_2
Kołdry 111.00
Poduszki 222.00

Próbowałem to zrobic na jednym zapytaniu, kombinowałem z joinem ale coś nie wyszło...
  1. SELECT kontrahenci.id_kontrahenta, kontrahenci.kontrahent_nazwa,
  2. cennik.id_kontrahenta, cennik.artykul, cennik.cena
  3. FROM kontrahenci JOIN cennik ON kontrahenci.id_kontrahenta = cennik.id_kontrahenta

Ostatecznie mam na 2 zapytaniach...ale wyświetla mi również na samym dole firma_3 (który jest pusty), nie zawiera artykułów, a chce zeby pokazywało mi tylko te firmy które posiadają artykuły. Kod:
  1. $query1 = mysql_query("SELECT id_kontrahenta, kontrahent_nazwa FROM kontrahenci ORDER BY kontrahent_nazwa");
  2. while ( $row1 = mysql_fetch_array($query1)) {
  3. $query2 = mysql_query("SELECT artykul,cena FROM cennik WHERE id_kontrahenta='".$row1['id_kontrahenta']."'");
  4. echo $row1['kontrahent_nazwa'].'<br><br>';
  5. while ( $row2 = mysql_fetch_array($query2)) {
  6. echo $row2['artykul'].' '.$row['cena'].'<br>';
  7. }
  8. }

Podejrzewam że musi to być zrobione tym joinem w jednym zapytaniu, ale nie umiem sobie poradzić. Prosze o pomoc.
Pozdrawiam.

Go to the top of the page
+Quote Post

Posty w temacie


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: 24.07.2025 - 21:16