![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 112 Pomógł: 0 Dołączył: 3.07.2013 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Robię kalkulator no i mam problem, mianowicie z listy rozwijanej wybieram sobie przykładowo pozycję A, a chcę, żeby wlaśnie ta pozycja A była widoczna, a przypisana do niej wartość brała udział w obliczeniach (wartość nie jest widoczna tylko pozycja A). Jak to zrobić? |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Opiekunowie Postów: 3 855 Pomógł: 317 Dołączył: 4.01.2005 Skąd: że ![]() |
Wrzuć do sesji.
-------------------- Jak poprawnie zadać pytanie | Jak poprawnie zatytułować wątek
Najczęstsze błędy | Błędy E_NOTICE | PHP FAQ | FAQ PHPedia | SQL-Injection | Logowanie i sesje | Hashowanie haseł | Server - od czego zacząć ? | Manual PHP Alternatywne Forum dla Ekspertów Nie pomagam na PW, nie mam GG |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 2 355 Pomógł: 533 Dołączył: 15.01.2010 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 112 Pomógł: 0 Dołączył: 3.07.2013 Ostrzeżenie: (0%) ![]() ![]() |
Skorzystałbym z tego sposobu Damonssona, lecz tam jest napisane, że pobieranie za pomocą javascriptu, a nie dałoby się tego jakoś za pomocą php zabrać? Postem myślałem, ale jak...
Jestem początkujący, także nie mam pomysłu jak zrobić coś takiego na sesjach, tworzyłem jedynie system do logowania, taki prymitywny. P.S Dzięki za odpowiedzi ![]() #edit To mój kod:
W bazie danych są dwie interesujące mnie kolumny: 'nazwa' i 'przel'. 'przel' to wartość liczbowa. Chodzi mi o to, żeby w liście wyskakiwała 'nazwa', a do kalkulatora używana była wartość 'przel'. Ten post edytował benzulli 10.02.2014, 23:31:53 |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 2 355 Pomógł: 533 Dołączył: 15.01.2010 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Opiekunowie Postów: 3 855 Pomógł: 317 Dołączył: 4.01.2005 Skąd: że ![]() |
Sesje nie są trudne, wystarczy pamiętać, że każdy plik w którym mają działać, musi się zaczynać tak:
A potem korzystać do woli z dobrodziejstw... -------------------- Jak poprawnie zadać pytanie | Jak poprawnie zatytułować wątek
Najczęstsze błędy | Błędy E_NOTICE | PHP FAQ | FAQ PHPedia | SQL-Injection | Logowanie i sesje | Hashowanie haseł | Server - od czego zacząć ? | Manual PHP Alternatywne Forum dla Ekspertów Nie pomagam na PW, nie mam GG |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 112 Pomógł: 0 Dołączył: 3.07.2013 Ostrzeżenie: (0%) ![]() ![]() |
Damonsson, niestety nie działa, próbowałem. Nie działa także, jeżeli w pętli dam <select> i input type=hidden, wtedy cała lista rozwijana się ogranicza do 1 rekordu, reszta pojawia się bez listy (ale działa, tylko do wyboru jest pierwsza opcja).
Przeczytałem co i jak z tymi sesjami, przecież to jest coś takiego jak POST, tylko nie trzeba tworzyć formularzy, a wobec tego mogę dać do sesji ten rekord bez żadnych ograniczeń. Wielkie dzięki, Kshyhoo, pomogłeś mi otworzyć oczy na PHP z innej strony. Zbytnio się przeliczyłem, już się cieszyłem, że wszystko działa tak jak chcę, lecz niestety... Problem jest taki, że zamiast do każdego rekordu dopasowywać przelicznik do rekordu (przez pętlę, jest server1 i do tego przelicznik, który jest pod tym samym id), to przelicznik jest cały czas taki sam i w ogóle się nie zmienia, nie jest mobilny, jest ciągle 1 rekord z bazy, zamiast dopasowywać do konkretnego rekordu (po kolei). Próbowałem już różne opcje z tą sesją, lecz niestety cały czas stoję w miejscu (kalkulator oblicza, lecz jako przelicznik jest ciągle jeden rekord przelicznika do wszystkich rekordów nazwy serwera, a w bazie jest zupełnie inaczej). Oto kod:
Ten post edytował benzulli 12.02.2014, 22:17:03 |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 2 355 Pomógł: 533 Dołączył: 15.01.2010 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Zacznijmy może od początku.
O co Ci chodzi i w czym masz problem? No i na cholerę Ci ta sesja? Wartość "STO" jest wyświetlana użytkownikowi. Wartość "100" jest brana do obliczeń. Czyli po wybraniu z listy opcji STO:
Gdzie Twój problem? |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 112 Pomógł: 0 Dołączył: 3.07.2013 Ostrzeżenie: (0%) ![]() ![]() |
Robiłem tak na początku, widocznie musiałem przeoczyć coś istotnego i po prostu nie działało.
Ehh, pomyśleć, że dzisiaj siedziałem jakieś 6-7h nad tym i nie mogłem nic wskórać..., a mogło wystarczyć przepisanie kodu od nowa. No nic, wielkie dzięki ![]() Problem został rozwiązany, lecz potrzebuję teraz wydobyć dwie zmienne, iloczyn do mnożenia oraz nazwę serwera, aby w pętli $wynik pojawiała się ona. Próbowałem za pomocą sesji, przy wyborze serwera wszystko gra, dopasowuje odpowiedni przelicznik, lecz kiedy przychodzi wyświetlić nazwę serwera to wtedy wybiera tylko ostatni rekord. Chcę, aby ta zmienna $serwer pokazywała wybrany wcześniej w formularzu serwer.
Ten post edytował benzulli 15.02.2014, 19:33:40 |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%) ![]() ![]() |
Cytat Próbowałem za pomocą sesji, przy wyborze serwera wszystko gra, dopasowuje odpowiedni przelicznik, lecz kiedy przychodzi wyświetlić nazwę serwera to wtedy wybiera tylko ostatni rekord. może ją nadpisujesz
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 112 Pomógł: 0 Dołączył: 3.07.2013 Ostrzeżenie: (0%) ![]() ![]() |
Tylko jak usunąć to nadpisywanie? W którym momencie ona się nadpisuje? Po wykonaniu pętli? Nie mam pojęcia jak to naprawić. Szukałem, lecz jest bardzo mało na ten temat. Na jednej stronie wyczytałem, że trzeba wstawić warunek if session is not null, tylko co to da...
|
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%) ![]() ![]() |
Nie wiem jaki masz kod. To jedyny plik co wstawiłeś, czy coś jeszcze?
Cytat kiedy przychodzi wyświetlić nazwę serwera to wtedy wybiera tylko ostatni rekord co to znaczy |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 112 Pomógł: 0 Dołączył: 3.07.2013 Ostrzeżenie: (0%) ![]() ![]() |
Tak, to jedyny plik (oczywiście htmla nie kopiowałem). Przepraszam trochę za to zamieszanie, wiem jak to jest czytać czyjś kod jak się nie jest w temacie.
Mam formularz, a w nim wartość tekstową, która jest nieistotna i listę. Z tej listy wybieram widoczny rekord, który nazwiemy a. Natomiast w tejże liście, pod jedną opcją znajduje się drugi rekord, niewidoczny, który pobieram, a jest nim iloczyn wykorzystywany do obliczeń - czyli b. Do php przez POST pobieram element b - poprzez value="" (wcześniej <select name="iloczyn">). Budowa listy jest taka, że właśnie widać element a, a pobiera się do php element b. Wszystko grało, ale teraz chcę, żeby do php był pobierane oba elementy - b (który jest poprawnie przesyłany do tej pory) oraz element a, który do tej pory był tylko widoczny jako rekord, który nie służył do niczego, a jedynie do oznakowania iloczynu. Teraz potrzebuję pobrać dodatkowo to oznakowanie iloczynu, wobec tego użyłem sesji (podczas wyboru z listy odbierany jest właściwy iloczyn wraz z dopasowanym elementem a, lecz kiedy chcę już pobrać sesję użytą do wyboru z listy, potem ona mi się nie pokazuje jako ta wybrana, lecz jako ostatni rekord z tabeli). Ten post edytował benzulli 16.02.2014, 14:09:30 |
|
|
![]()
Post
#14
|
|
![]() Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%) ![]() ![]() |
Pokaż jak zapisujesz do sesji
|
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 112 Pomógł: 0 Dołączył: 3.07.2013 Ostrzeżenie: (0%) ![]() ![]() |
To jest cały jeden plik, po za nim nie ma nic więcej.
W 11 linijce znajduje się przypisanie sesji wartości z bazy danych :
_________ O tutaj $row[przel] sobie normalnie pobieram jako post i wykorzystuję dalej, lecz jeżeli chcę pobrać zmienną sesyjną 'serwer' - nie mogę jej potem użyć, bo pokazuje się ostatni rekord z bazy danych, a chodzi mi, żeby pokazywał się ten wybrany w liście. Ten post edytował benzulli 16.02.2014, 21:19:00 |
|
|
![]()
Post
#16
|
|
![]() Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%) ![]() ![]() |
nadpisujesz sesję jak mówiłem wczoraj. Jak już to:
|
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 112 Pomógł: 0 Dołączył: 3.07.2013 Ostrzeżenie: (0%) ![]() ![]() |
Teraz w ogóle nie pobiera wiadomości z bazy danych, w ogóle brak jest tych rekordów 'nazwa', tylko puste pola. Także po wykonaniu przeliczenia nie pokazuje się nazwa rekordu.
|
|
|
![]()
Post
#18
|
|
![]() Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#19
|
|
Grupa: Zarejestrowani Postów: 112 Pomógł: 0 Dołączył: 3.07.2013 Ostrzeżenie: (0%) ![]() ![]() |
Tak, tylko wtedy jak pobiorę $row[nazwa] do zmiennej z poza pętli?? Jak jeszcze $row[przel] za pomocą POST sobie pobiorę i mogę używać w obliczeniach, tak już $row[nazwa] jest tylko nazwą i zostaje w formularzu.
|
|
|
![]()
Post
#20
|
|
![]() Grupa: Zarejestrowani Postów: 3 034 Pomógł: 366 Dołączył: 24.05.2012 Ostrzeżenie: (0%) ![]() ![]() |
$row['nazwa'] jak już... no to przecież masz już zapis do sesji napisany wiec w czym jeszcze problem?
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 05:27 |