![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 33 Pomógł: 0 Dołączył: 4.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Witajcie.
Mam do was kilka pytań związanych z PHP i MYSQL. Chcę zrobić bazę danych Hotelu, czyli wszystkich klientów korzystających z wynajmu pokojów. Posiadam baze danych w której dodaję Imie, data przyjazdu itd idąc dalej nie wiem jak zrobić aby automatyczne skrypt liczył ilość dni ile dany klient przebywa w hotelu oraz mnożenie to przez kwotę noclegu (czyli. Przyjechałem 19.10.2014 do hotelu, 20.10.2014 opuszczam pokój czyli skrypt powinien odjąć(?) 20-19 = 1 * (koszt noclegu) = kwota zł.) Oraz aby wyświetlał wynik w tabeli. Skrypt wygląda na razie tak:
I co nikt nie wie jak to zrobić ? :< |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 251 Pomógł: 23 Dołączył: 23.04.2013 Ostrzeżenie: (0%) ![]() ![]() |
Panowie i Panie, ogłaszam wszem i wobec, że jeśli ktoś nie weźmie się za te tutoriale z sieci uczące tak karygodnych praktyk, wtedy ja sam się za to wezmę. Zacznę niszczyć internety!
Kolego, to co tutaj poczyniłeś to przestępstwo - złamałeś jedno z ważniejszych przykazań developerów, tj. nie miesza się widoku z kodem. Proszę o natychmiastowe przemyślenie designu i oddzielenie widoku od kodu. Najpierw niech wykona się logika, później wynik przekaż do widoku (stwórz plik .php, w którym będziesz miał tylko tą tabelkę i zmienną, która się wyświetli i na samej górze załącz pliczek z logiką). Poza tym korzystasz z mysql_query - oj nie, tak się nie robi, to przestarzała funkcja korzystająca z przestarzałego sterownika do obsługi baz danych, przestań tego używać. To praktyki stosowane jeszcze przed 2004 rokiem! Przekształć to na PDO, albo na mysqli (z "i" na końcu). Gdy wykonasz powyższe czynności, wtedy będzie można pogadać dalej. ![]() |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 111 Pomógł: 11 Dołączył: 12.10.2014 Skąd: Tarnów Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 33 Pomógł: 0 Dołączył: 4.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Panowie i Panie, ogłaszam wszem i wobec, że jeśli ktoś nie weźmie się za te tutoriale z sieci uczące tak karygodnych praktyk, wtedy ja sam się za to wezmę. Zacznę niszczyć internety! Kolego, to co tutaj poczyniłeś to przestępstwo - złamałeś jedno z ważniejszych przykazań developerów, tj. nie miesza się widoku z kodem. Proszę o natychmiastowe przemyślenie designu i oddzielenie widoku od kodu. Najpierw niech wykona się logika, później wynik przekaż do widoku (stwórz plik .php, w którym będziesz miał tylko tą tabelkę i zmienną, która się wyświetli i na samej górze załącz pliczek z logiką). Poza tym korzystasz z mysql_query - oj nie, tak się nie robi, to przestarzała funkcja korzystająca z przestarzałego sterownika do obsługi baz danych, przestań tego używać. To praktyki stosowane jeszcze przed 2004 rokiem! Przekształć to na PDO, albo na mysqli (z "i" na końcu). Gdy wykonasz powyższe czynności, wtedy będzie można pogadać dalej. ![]() Zamiast się tak rozpisywać i udawać super programistę odpowiedziałbyś na temat a nie atakował początkującego ![]() Dzięki! Ten post edytował xenvera 23.10.2014, 09:49:15 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 342 Pomógł: 15 Dołączył: 30.08.2011 Ostrzeżenie: (0%) ![]() ![]() |
To nie atak, to porada. Choć wg mnie powiedziec początkującemu by nie mieszał widoku z kodem wykonawczym to jak samobójstwo. Ktoś kto się dopiero uczy składni itd nie będzie zaprzątał sobie głowy czy html ma być w kodzie czy nie. Myslę, że z czasem przychodzi pora na pisanie coraz bardziej ludzkich skryptów.
A jeżeli chodzi o poradniki w necie, to jest tego od groma tyle, że 95% jest przestarzałych do kości. |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 33 Pomógł: 0 Dołączył: 4.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Ostatnie pytanie na szybko związane ze skryptem, chcę zaksięgować wpłatę klienta jednak po dodaniu do bazy wynik jest 0, dlaczego?
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Bo nigdzie przed UPDATE nie wyliczasz $oblicz? To ze gdzies na innej stronie wyliczyles w liscie, nie znaczy, ze ta zmienna w magiczny sposob sie przeniesie.
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 33 Pomógł: 0 Dołączył: 4.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Bo nigdzie przed UPDATE nie wyliczasz $oblicz? To ze gdzies na innej stronie wyliczyles w liscie, nie znaczy, ze ta zmienna w magiczny sposob sie przeniesie. To jest wszystko w jednym pliku.... Jak zamiast $oblicz daje np $koszt to w bazie normalnie wyswietla np. 25. Ale wyniku z oblicz juz nie dodaje... Ten post edytował xenvera 23.10.2014, 21:38:39 |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 342 Pomógł: 15 Dołączył: 30.08.2011 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 33 Pomógł: 0 Dołączył: 4.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#11
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat To jest wszystko w jednym pliku.... Ok.... Po raz kolejny piszę: sprawdzajcie co wkladacie. TO nie jest żaden wyczyn tylko podstawa podstaw podstawowych podstaw....
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 33 Pomógł: 0 Dołączył: 4.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Powiem tak, var_dump zawiera faktycznie wyniki co widać na obrazku.
Jednak jest problem, jak zaznaczam klienta który ma zapłacić 425 zł to zmienna cały czas ma w pamieci wynik 575. I zamiast 425 dodaje 575 do bazy ... ![]() |
|
|
![]()
Post
#13
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
No i zgadza sie. Oblicz robisz z listy a masz robic z tego co wysylasz, wiec masz źle.
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 33 Pomógł: 0 Dołączył: 4.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Nie no, nie mam pojęcia ani nawet pomysłu jak to zrobić. :|
|
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 111 Pomógł: 11 Dołączył: 12.10.2014 Skąd: Tarnów Ostrzeżenie: (0%) ![]() ![]() |
Liczysz oblicz w petli dlatego zmienna pamięta ostatni wynik. I to jego dodaje przy updacie.
Dodaj sobie w tabeli dla każdego klienta pole "do zapłaty" i przy liczeniu oblicz rób update. a pole zapłata updatuj na true jak jest faktyczna zapłata. Ten post edytował ShaggyAG 25.10.2014, 08:34:49 |
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 33 Pomógł: 0 Dołączył: 4.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Gdzie mam wcisnąć te obliczenia, skoro do każdego potrzebuje ID klienta nie musi być do tego pętli ? Inaczej mi jakoś to nie chce iśc...
W tabeli mam "kwota" a w formularzu Do zapłaty, i przy updacie zmienia pole w tabeli "kwota" na jakąś tam kwotę wychodzącą z obliczeń. |
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 111 Pomógł: 11 Dołączył: 12.10.2014 Skąd: Tarnów Ostrzeżenie: (0%) ![]() ![]() |
W bazie też musisz mieć jakieś pole tyu "zapłacono" tak jak masz w formularzu.
Rozwiązań jest wiele, ja bym to zrobil tak że w tym skrypcie co masz wsadził bym sobie if() który by sprawdzał czy dla danego ID pole w "zapłacono" DB ma wartośc true. Jeżeli tak to w echo wysyłasz np "ok" a jak nie to w echo wysyłasz przycisk z przekierowaniem do fucnkcji (z parametrem z ID) z ajaxem która by zrobiła tylko update na zapłacono. |
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 33 Pomógł: 0 Dołączył: 4.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
No z ajaxem generalnie jeszcze nic nie zaczynałem, nie dało by się tego w prostszy sposób zrobić?
@Po prostu nie wiem jak dopisać $oblicz do osobnych klientów w zapytaniu.. Ktoś, coś? :S Więc jak przed Updatem mam dodać znowu wszystkie obliczenia ? F5 Ten post edytował xenvera 10.11.2014, 20:48:02 |
|
|
![]()
Post
#19
|
|
![]() Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%) ![]() ![]() |
Zadaj po ludzku pytanie
|
|
|
![]()
Post
#20
|
|
Grupa: Zarejestrowani Postów: 33 Pomógł: 0 Dołączył: 4.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Mam problem ze skryptem którym Updatuje w bazie danych kwotę jaką zapłacił losowy Kowalski za nocleg:
![]() Problem w tym, że zmienna obliczająca dodaje mi cały czas tylko 1 wynik do bazy. Czyli jak odznaczam "ASDASD" i wykonuje że zapłacił to Updatuje mi kwotę 575 zł która należy do "123123123~". //W postach wyżej nospor podpowiadał mi co mam zrobić, jednak na prawdę próbowałem i nie wyszło, szukałem przykładów ale też cieżko znaleźć coś podobnego.
f10 f11 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 13.06.2025 - 08:40 |