![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 173 Pomógł: 1 Dołączył: 26.10.2005 Skąd: Toruń Ostrzeżenie: (0%) ![]() ![]() |
Cześć wszystkim.
Mam dość skomplikowane zadanie, które mnie przerasta z powodu konieczności zbudowania złożonego zapytania SQL do bazy danych. Buduję wtyczkę do Wordpressa. W jednej z funkcji muszę wyciągnąć WSZYSTKICH klientów, którzy zakupili konkretny wariant produktu. Niestety ci klienci dokonywali zakupów bez rejestracji, dlatego na próżno szukać ich w tabeli WP_USERS, tam ich nie ma. Zatem jedyne co mogę zrobić, to poszukać wszystkich zamówień, w których dokonano zakupu WARIANTU produktu o danym ID, i to się ogólnie udaje:
gdzie 61840 to właśnie ID wariantu produktu, który mnie interesuje. Powyższe zapytanie elegenacko zwraca ID wszystkich zamówień zawierających wskazany wariant. Jednak muszę zbudować listę klientów, którzy dokonali takiego zakupu. Potrzebuję Imienia, nazwiska oraz adresu e-mail. I tu już zaczynają się schody. Nie wiem jak zmodyfikować powyższe zapytanie, aby z IDkami zamówień otrzymać również Imię, Nazwisko i adres e-mail klienta z tego zamówienia. te informacje znajdują się w tabeli wp_postmeta, wygląda to mniej więcej tak: Kod meta_id | post_id | meta_key | meta_value ---------------------------------------------------------------------------- xxxx | id_zamowienia | _billing_email | adresemail@klienta.pl xxxx | id_zamowienia | _billing_first_name | Franek xxxx | id_zamowienia | _billing_last_name | Kimono takich wierszy jest oczywiście znacznie więcej, ale interesują mnie dokładnie te trzy przypisane do danego zamówienia. Id zamówienia zwraca zapytanie umieszczone powyżej. Mógłbym oczywiście w pętli sprawdzić każde zamówienie po kolei, ale nie widzę sensu, by tak katować serwer odpytując go kilkaset razy, skoro można stworzyć jedno zapytanie, które to ogarnie. czyli zamiast tablicy z samymi IDkami zamówień chciałbym uzyskać tablicę z IDkami zamówień, oraz przypisanymi do nich adresami email, imionami i nazwiskami kupujących. Zdaję sobie sprawę, że moje pytanie jest specyficzne i najpewniej będą w stanie pomóc mi tylko osoby, które głęboko siedzą w Wordpresie i znają jego logikę bazy. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 18.05.2025 - 21:10 |