Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php + mysql] Dane z dwóch tabel.
Forum PHP.pl > Forum > PHP
Foxer
Mam w MySQL dwie tabele. Pierwsza (produkty) zawiera dane o wszystkich produktach jakie mam w sklepie: produktID, nazwa, opis, cena. Druga tabela (zamowienia) łączy użytkowników z produktami które już zamówili, zawiera ona kolumny: userID, produktID, status. Jeżeli w status jest 1 tzn. że produkt jest zamówiony.

Wiążę się z następującym problemem winksmiley.jpg:

Aby wyświetlić (w formie tabeli, listy, czegokolwiek) produkty tylko te, które user już zamówił, w kodzie strony piszę:
  1. <?php
  2.  
  3. $sql_query = &#092;"SELECT productID FROM zamowienia WHERE userID LIKE '%tutaj ID usera%' AND status LIKE '%1%'\";
  4. $result = mysql_query($sql_query);
  5.  
  6. while ($record = mysql_fetch_array($result))
  7. {
  8.  $produktID = $record['productID'];
  9.  
  10.  $sql_query_2 = &#092;"SELECT * FROM produkty WHERE productID LIKE '%\" . $productID . \"%' AND active LIKE '%1%' ORDER BY cena ASC\";
  11.  $result_2 = mysql_query($sql_query_2);
  12.  
  13.  while ($record_2 = mysql_fetch_array($result_2))
  14.  {
  15.   // Tutaj lista, tabela, w której używam zmiennych: $record_2['productID'], $record_2['nazwa'], $record_2['opis'], $record_2['cena']
  16.  }
  17. }
  18.  
  19. ?>


Nie będę dłużej trzymał w napięciu - kod działa. Jednak jak widzicie w $sql_query_2 chciałbym aby dane były sortowane (ORDER BY) według kolumny "cena", a niestety sortowanie nie jest możliwe ponieważ jest to zamknięte w pierwszą pętlę while. Hmmm... Macie może propozycje jak to przerobić / napisać od nowa, aby wyświetlało to co ma wyświetlać oraz sortowało? Ja jestem w kropce blink.gif
Parti
  1. SELECT produkty.* FROM produkty NATURAL JOIN zamowienia WHERE zamowienia.userID = '$user' AND zamowienia.STATUS = '1' AND produkty.active = '1' ORDER BY cena
Foxer
ohmy.gif To wygląda świetnie :-). Wielkie dzięki.
KRCreater
kurcze nigdy mi to nie wchodzi ;//////

mam tablice
"forum_topic" -> id | id_dzialu | itd.
"forum_odp" -> id | id_dzialu | id_topicu | itd.

chcę posortować tablicę TOPIC według największego ID z tablicy "forum_odp" ale to nie wszystko: ma to być największy ID spośród ID które w wierszu mają id_topicu takie jak topic...

Nie wiem jak się za to zabrać :|

***

Poradziłem sobie z tym na swój sposób :]
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.