![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 16.02.2016 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Na wstępie powiem, że do tej pory jakość sobie radziłem z różnymi problemami, ale.. brak mi pomysłu i trochę czas nagli (jest wiele osób, które posiadają ten sam sklep (Shoper lub ClikShop) i ten sam problem, a aktualizacja z poprawką tego szybko pewnie nie nadejdzie znając życie). Nie liczę na gotowe rozwiązanie a chociaż na pokazanie mi drogi do rozwiązania. Mam sklep internetowy ale niestety nie aktualizują się stany magazynowe produktu głównego na podstawie wariantów. chciałbym: 1. uzyskać listę produktów, które należy zaktualizować - lista muszę wyeksportować do pliku tylko sam product_id w przypadku gdy suma magazynowa wariantów jest różna od stanu magazynowego produktu głównego 2. aktualizacja stanu magazynowego na podstawie stanu magazynowego wariantów Do rzeczy. Struktura tabeli (część).
+------------+-------+----------+ | product_id | stock | extended | +------------+-------+----------+ | 110 | 7 | 0 | | 110 | 1 | 1 | | 110 | 1 | 1 | | 112 | 5 | 0 | | 112 | 0 | 1 | | 113 | 9 | 0 | | 113 | 2 | 1 | | 113 | 1 | 1 | | 113 | 2 | 1 | | 113 | 2 | 1 | | 115 | 4 | 0 | | 115 | 1 | 1 | | 115 | 1 | 1 | | 115 | 2 | 1 | extended =0 - produkt główny, 1-wariant produktu wymyśliłem zapytanie (Osobne zapytania działają, ale nie wiem jak je połączyć w całość):
chciałem chociaż uzyskać wynik produck_id, stock (główny), sum(stock - wariantów) ale było by to zbyt piękne by się udało - wynik wyszedł spodziewany - subquery returns more then 1 row. wynika to z tego, że nie wszystkie produkty główne mają warianty (czyli są product_id gdzie brak jest extended=1) Rozważałem też wynik z
zrobić jako tabelę tymczasową (macierz), ale zależy mi na jak najprostszym rozwiązaniu - skrypt będzie uruchamiany co 15-30 minut Co podobnego już robiłem, ale jak pewne rzeczy robi się raz na rok to się tego nie pamięta. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 16.02.2016 Ostrzeżenie: (0%) ![]() ![]() |
Mam pytanie jeszcze z innej beczki.
napisałem zapytanie które tworzy plik ze ścieżką do usuwania plików (skrypt basch)
problem dotyczy ostatnich znaków "\\". prawidłowa komenda to . Problem jest taki, że jak na końcu polecenia wpiszę jeden \ to baza wywala błąd, skolei jak piszę \\ to w PHPMyadmin widzę tylko jedno \, natomiast jak wysyłam to do pliku to otrzymuję też \\. potem muszę użyć dodatkowego polecenia do usuwania jednego \. czy jest jakieś rozwiązanie bez dodatkowych poleceń tak by w pliku zapisał się \. Próbowałem zastąpić \ poleceniem char(92). Ale jest tak samo w PHPmyadmin jest \ a w pliku \\ Pod warunkiem, że główny jest tylko jeden:
Jest pięknie napisane, ale wynik nie uwzględnia produktów głównych, które nie mają wariantów - a niestety takie tez bywają. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 10.10.2025 - 20:06 |