|
Pobieranie stanu magazynowego produktu z poza programu.
Union Chocolate. |
Pytanie: czy byłaby możliwość stworzenia jakiegoś mechanizmu, przy pomocy którego można by pobrać aktualny stan magazynowy produktu z zewnątrz programu. Chodzi mi o zastosowanie takiego rozwiązania np. w takiej sytuacji: Prowadzę sklep internetowy. Chciałbym aby klienci widzieli na stronie internetowej, czy dany produkt jest w danej chwili dostępny czy też nie. Chciałbym wiedzieć ile towaru mogę w takim sklepie przyjąć na zamówienie. itp.
Mechanizm takiego "pobierania stanu" mógłby być praktycznie dowolny. Właściwie satysfakcjonowała by mnie nawet jakaś ładna konstrukcja zapytania SQL do bazy danych. Chciałbym móc pobierać aktualny stan produktu pytając po kodzie kreskowym bądź kodzie produktu. Naturalnie chciałbym też, aby rozwiązanie miało charakter ogólny, czyli było właściwe niezależnie od rodzaju magazynu (FIFO czy też nie) i nie wymagało przebudowy przy aktualizacji wersji programu Fakt.
Pozdrawiam.
Konstrukcja bazy umożliwia zintegrowanie jej ze stroną www przy pomocy php. Hasła dostępu do bazy i użytkownik są standardowe dla firebird'a i odpowiednio brzmią : masterkey oraz sysdba Wyciągnięcie takich danych też jest możliwe przy pomocy najprostszych zapytań sql'owych (na zasadzie select from tab_xxx where XXX > YYYY AND ...). Niemniej w ramach serwisu nie świadczymy pomocy przy tworzeniu takich rzeczy, z racji, że mają one bardzo unikalną specyfikę oraz nie wchodzą w skład "standardowych" funkcji programu. Jednak jeżeli będzie miał Pan jakieś konkretne pytanie może je Pan kierować na adres bogus@fakt.com.pl, postaram się w wolnych chwilach odpowiedzieć.
Nie wiem jaki jest Pański stopień zaawansowania ale proszę pamiętać, że na początku należy włączyć obsługę interbase w php.ini (nie mam możliwości w tej chwili tego sprawdzić ale powinna to być mniej więcej zmiana z ";extension=php_interbase.dll" na "extension=php_interbase.dll" [oczywiście bez średnika]). Dodatkowo proszę pamiętać o ustawieniu gds_db na 3050/tcp (3050 to domyslny port firebird'a). Zmianę taką należy wprowadzić w pliku services [\system32\drivers\etc\services]. Dodatkowo powinno się skopiować fbclient.dll z folderu bin instalacji firebird'a do system32 zmieniając mu nazwę na gds32.dll. Prawdopodobnie musi Pan również do system32 przerzucić php_interbase.dll, libeay32.dll oraz ssleay32.dll. Niestety nie mam praktycznej możliwości sprawdzić czy to jest dokładnie to co wystarczy - napisałem to od czego ja bym zaczął takie próby, choć wydaje mi się to wystarczające. Jest to opis oczywiście jak ustawić to pod kątem localhosta jak mniemam od tego Pan będzie chciał zacząć. Dodatkowo zalecam zainstalowanie jakiegoś programu do podglądu bazy aby mógł się Pan zapoznać z jej strukturą oraz nazwami odpowiednich pól.
Wszystkie opisywane zmiany są dla OS WINDOWS w przypadku rodziny linuxa również jest to możliwe ale zmiany w php dokonywane są raczej przez przekompilowanie. Na ten temat jaki i informacje jak się połączyć z bazą z pewności znajdzie Pan mnóstwo przykładów oraz opisów/instrukcji w internecie również w wersji polskojęzycznej.
Polecam szukanie również jako gotowych projektów akademickich z przedmiotów Bazy danych (bądź podobny) - na pewno znajdzie Pan gotowe przykłady a chyba każda uczelnia techniczna w specjalizacjach komputerowych ma taki przedmiot.
Jeszcze jedno na początek proszę tylko ustawić php.ini system32 to ostateczność, możliwe, że nie będzie wymagane ;).
Dziękuję, za odpowiedź, lecz nie do końca o taką mi chodziło :) Mechanizm dostępu do bazy FB jest mi znany, nie znam natomiast dokładnie struktury bazy. Może sprecyzuje pytania: czy kolumna ILOSC w tabeli TAB_TOWA odpowiada aktualnej ilości danego produktu na stanie magazynu (zarówno FIFO jak i uproszczonego) i jest uaktualniana przy każdym wprowadzaniu/zdejmowaniu towaru z magazynu?
Tak, powinna być odświeżana po każdym dopisaniu np. dokumentu sprzedaży.
zanotowane.pldoc.pisz.plpdf.pisz.plfisis2.htw.pl
|
|