Witam,
Na serwerze do którego mam dostęp przez web po zalogowaniu sie na konto chiałbym pobrać z bazy cene produktu i i ją zaktualizować wg kursu euro i swojej marży i zmienić ją w bazie na swoim serwerze. Proszę o pomoc jak mógłbym to wykonać. Jestem początkujący więc proszę o poradę jako laikowi ;-)
kopiowanie i aktualizacja danych w bazie SQL
Wątek przeniesiony 2024-12-06 12:42 z Bazy danych przez cerrato.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 4
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Poznań
- Postów: 9025
Za mało konkretów, żeby dać jakąkolwiek odpowiedź.
Na serwerze do którego mam dostęp przez web- czy jest jakiś panel do logowania się, a może MyAdmin?po zalogowaniu sie na konto- jakie konto?- Czy chcesz to zrobić ręcznie, czy jakoś zautomatyzować?
- Ma to być jednorazowa akcja, czy powtarzana cyklicznie?
- O jaką liczbę produktów chodzi?
- Skąd chcesz brać aktualny kurs Euro - wpisywać ręcznie czy pobierać skądś?
- Czym jest "Twój serwer"?
- Rejestracja: dni
- Ostatnio: dni
- Postów: 4
Hej, dzięki za szybką odpowiedź ;-)
- Tak, jest panel do logowania po zalogowaniu się w panelu jest formularz w który wpisuje symbol produktu w wyszukiwarce i wyświetla mi się jego aktualna cena w EUR i dostępność.
Bazę tych produktów mam u siebie na serwerze. Skrypt musiałby pobierać z mojej bazy symbol produktu wklejać go w okno wyszukiwarki dostępnej po zalogowaniu i pobierać jego cenę, obliczać wg ceny euro podawanej przez NBP - Oczywiście całą pracę chciałbym zautomatyzować
- Akcja powinna być powtarzana cyklicznie np. co tydzień w niedzielę
- W bazie mam ok 30tys produktów
- kurs euro chcę pobierać z tabeli średnich kursów wg. NBP
- Mój serwer serwer na którym jest moja baza. Mam do niej dostęp przez program ibiznes ale mogę otrzymać do niej dostęp po API jak przypuszczam.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 3581
Język użyty w backandzie to PHP?
I przez formularz i logowanie rozumiesz jakąś własną stronę która to pokazuje, a nie coś gotowego?
- Rejestracja: dni
- Ostatnio: dni
- Postów: 4
jurek1980 napisał(a):
Język użyty w backandzie to PHP?
I przez formularz i logowanie rozumiesz jakąś własną stronę która to pokazuje, a nie coś gotowego?
chodzi o to w jakim języku miało by to być napisane? to chyba w PHP
jeśli chodzi o logowanie na stronie skąd pobierane by miały być dane to mamy konto na stronie www u naszego kontrachenta gdzie możemy sprawdzić aktualną cenę i dostępność produktu wpisując w formularzu jego symbol.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 3581
Ok. Czyli to jest zewnętrzna strona, do której bazy itp. nie masz dostępu.
Jak odbywa się tam logowanie? Logujesz się poprzez użytkownika i hasło?
Używasz, nie wiem, Google do autoryzacji?
Jest jakieś 2FA gdzie podajesz np. kod z SMSA?
Jak raz się zalogujesz to przeglądarka to pamięta?
No i ten produkt - nie ma jakiejś struktury URL na stronie tego dostawcy produktów gdzie można po prostu zmienić id/nazwę produktu?
NP. www.mojdostwca/produkt/123 - gdzie 123 to ID produktu a na tej stronie masz info o cenie?
- Rejestracja: dni
- Ostatnio: dni
- Postów: 4
Tak loguje sie przez użytkownika i hasło nie używam google do autoryzacji ani 2FA
tylko login i hasło i mam zapamiętane przez przeglądarkę.
nie ma bezpośredniego adresu do każdego produktu.
Informacje o produkcie są wywoływane z formularza i wyświetlane na stronie,
Sprawdziłem że adres strony sie nie zmienia.

- Rejestracja: dni
- Ostatnio: dni
- Postów: 3581
Dobra, skoro nie zmienia się adres strony to musi być jakiś endpoint z którego pobierane są dane o cenie.
Otwórz narzędzia deweloperskie (F12 w Chrome) i w zakładce sieć/network zobacz co się dzieje jak wpiszesz produkt i naciśniesz enter.
Jeśli znajdziesz endpoint, który zwraca ceny po nazwie/Id etc. to już możesz zacząć pisać skrypt w PHP, który spróbuje pobrać te dane.
Poczytaj o GuzzleHTTP dla PHP. To biblioteka obsługująca żądania. Możesz też próbować czystego curl. W dobie dziejszych dóbr techniki możesz zapytać chatGPT o wygenerowanie kodu, ale polecam najpierw poczytać co to jest ten curl bo utkniesz na każdym błędzie/zmianie.
Jak już pobierzesz cenę jednego produktu do kodu, zostanie już tylko pętla na produkty z bazy i aktualizacja danych w Twojej bazie.