![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 16.10.2017 Ostrzeżenie: (0%) ![]() ![]() |
Witam. Mam problemy z pętlą foreach wyświetlającą zawartość mojej tablicy
Tak wygląda formularz: Tak wygląda wpisywanie do tablicy formularza (session start jest oczywiście na początku pliku php
Tak wygląda pętla w której próbuję wyświetlić dane z tablicy, niestety nie umiem jej poprawnie zbudować aby wyświetliła to co chcę. Bardzo proszę o podanie przykładowego kodu w którym będę mógł zrozumieć w jaki sposób dobrać się do mojej tablicy:
indeks- pętla miala lecieć po wszystkich wybiarach nazwa - po wszystkich nazwach np. imie, nazwisko itd. wartość - po wszystkich wartościach danej nazwy np. Jan, Kowalski .... Jako wynik działania pętli chciałem uzyskać taki efekt 0 Imie: Jan 0 Naziwsko: Kowalski ....... 1 Imie: Krzysztof 1 Nazwisko: Nowak Ten post edytował hunter444 16.10.2017, 22:00:13 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 129 Pomógł: 13 Dołączył: 29.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
Nie musisz tworzyć tablicy dynamicznie tzn w pętli. Możesz robić to na tablicy asocjacyjnej czyli:
następnie zmienną $tablica zapisujesz do utworzonej sesji:
W tym momencie twoja zmienna sesyjna jest teraz zwykłą tablicą asocjacyjną do której odwołujesz się po wartościach imie, nazwisko Tablicę którą Ty próbowałeś utworzyć w pętli nazywa się trójwymiarową bądź wielowymiarową(tablica tablic) czyli:
Żeby odwołać się do powiedzmy imienia z Twojej tablicy umieszczonej w zmiennej sesyjnej to musisz zrobić takie coś:
W Twoim przypadku nie ma potrzeby tworzenia tablicy wielowymiarowej chyba że chcesz zawrzeć jakieś dodatkowe informacje np. dla imienia |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 1 879 Pomógł: 230 Dołączył: 20.03.2005 Skąd: Będzin Ostrzeżenie: (0%) ![]() ![]() |
A finalnie nawiązując do przedmówcy
W linii 5. zamiast:
Chociaż u Ciebie pewnie najlepsza będzie forma:
Ten post edytował Tomplus 17.10.2017, 06:05:37 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 16.10.2017 Ostrzeżenie: (0%) ![]() ![]() |
Niestety chyba czegoś nie zrozumiałem. Poniższy kod
Powoduje dwa błędy: 1. Każde kolejne dodawanie rekordu wymazuje poprzednie rekordy. Przykładowo dodaje użytkownika, potem dodaje kolejnego i poprzedni się kasuje. Chcę dodać n użytkowników w formularzu a następnie wyświetlić n użytkowników w raz z ich atrybutami (imie, nazwisko, ...) 2. Dla danych wejściowych: Adam, Nowak,Mężczyzna, Nowak, mmm@wp.pl, 73-111 wyświetla się następująca zawartość tablicy (czyli pierwszy znak każdego pola): Imię A Nazwisko A Płeć A Zazwisko panieńske A email A kod pocztowyA Imię N Nazwisko N Płeć N Zazwisko panieńske N email N kod pocztowyN Imię m Nazwisko m Płeć m Zazwisko panieńske m email m kod pocztowy m Imię N Nazwisko N Płeć N Zazwisko panieńske N email N kod pocztowyN Imię m Nazwisko m Płeć m Zazwisko panieńske m email m kod pocztowym Imię 7 Nazwisko 7 Płeć 7 Zazwisko panieńske 7 email 7 kod pocztowy7 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 129 Pomógł: 13 Dołączył: 29.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
Dobra. Jeżeli ma to być tablica wielowymiarowa to za każdym razem przy dynamicznym uzupełnianiu tej tablicy musisz sprawdzać jej rozmiar żeby nie zapełnić drugi raz tego samego indeksu czyli:
Następnie sprawdzasz czy formularz został wysłany i tworzysz pola tablicy:
Na końcu przypisujesz te pola do zmiennej sesyjnej i dopisujesz indeks tablicy:
a odwołujesz się tak:
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 16.10.2017 Ostrzeżenie: (0%) ![]() ![]() |
Dziękuję za pomoc. Zrozumiałem już swoją głupotę.
Mam jeszcze jeden problem. Oprócz wpisywania danych do tablicy sesyjnej mam jeszcze licznik ile danych wprowadzono w trakcie trwania sesji. Gdy przykładowo wprowadzam dane w Internet Explorer to wszystko jest ok, zmienne sesyjne kasują się po zamknięciu przeglądarki. Jednak problem jest w przypadku chrome. Po wyłączeniu przeglądarki, odczekani paru minut i ponownym wejściu na stronę, wszystkie zmienne sesyjne nadal są dostępne. Jak zrobić aby po opuszczeniu strony wymusić usuwanie danych ? |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Ustaw krótki czas życia cookie. http://php.net/manual/pl/function.session-...okie-params.php oraz https://stackoverflow.com/questions/1061795...session-cookies
Ten post edytował viking 17.10.2017, 11:43:51 -------------------- |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 04:46 |