Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Problem z sesją
dopal
post
Post #1





Grupa: Zarejestrowani
Postów: 131
Pomógł: 0
Dołączył: 9.02.2009

Ostrzeżenie: (0%)
-----


Mam taki oto fragment kodu:
  1. $pytanie3="SELECT MAPJPO, COUNT(*) as ilosc FROM MAGPOJ, SLRPRE
  2. WHERE MAPLIS Like '%{$_POST['kod']}%' AND MASRPK = SPSRPK AND SPSRPK Like '%{$_POST['preparat']}%' AND MAPJDW Between '".$czas1."' And '".$czas2."' GROUP BY MAPJPO ORDER BY ilosc DESC";
  3.  
  4. $result3 = odbc_exec($connect, $pytanie3) or die( odbc_error());
  5.  
  6. while(odbc_fetch_row($result3))
  7.  
  8. {
  9. $odp1 = odbc_result($result3, 1);
  10. $odp2 = odbc_result($result3, 2);
  11.  
  12. {
  13. echo '<tr>
  14. <td width="15%" align="center">'.$odp1.'</td>
  15. <td width="10%" align="center""><b>'.$odp2.'</b></td>
  16. <td><a href="zest3_wyn.php?more='.$odp1.' " target=_blank>Szczegóły</a><td>
  17. </tr> ';
  18. }}
  19.  
  20. ?>

Po wykonaniu tego zapytania otrzymuję wyniki prawidłowo
Załóżmy ze w wyniku otrzymaliśmy nastepujący zwrot:

144 || 33 || .../zest3_wyn.php?more=144
433 || 22 || .../zest3_wyn.php?more=433
765 || 11 || .../zest3_wyn.php?more=765

Klikając na wygenerowany link będą wyświetlane tam dodatkowe informacje.
Póki co sprawdzam sobie na wygenerowanej stronie czy działają mi sesje.
Wszystkie potrzebne sesje działają mi ok, poza 1, którą nie wiem jak stworzyć.

Chodzi by dla każdego wyniku generowała sie odpowiednia sesja na podstawie zmiennej odp1.
Robiąc
$_SESSION['odp1']; i tworząc ją w pętli nie działało, ciągle wyświetla mi ostanią wartość czyli w tym przypadku 765.

Ma ktoś jakąs podpowiedź?
Go to the top of the page
+Quote Post
CuteOne
post
Post #2





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

Ostrzeżenie: (0%)
-----


Chcesz wrzucić do sesji 765 elementów?questionmark.gif
Go to the top of the page
+Quote Post
dopal
post
Post #3





Grupa: Zarejestrowani
Postów: 131
Pomógł: 0
Dołączył: 9.02.2009

Ostrzeżenie: (0%)
-----


Nie, to jest tylko przykład

Ilość generowanych w ten sposób sesji to będzie max 10
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
Chodzi by dla każdego wyniku generowała sie odpowiednia sesja na podstawie zmiennej odp1.
Robiąc
$_SESSION['odp1']; i tworząc ją w pętli nie działało, ciągle wyświetla mi ostanią wartość czyli w tym przypadku 765.

Skoro ma to być na podstawie zmiennej $odp1 to ma być:
$_SESSION[$odp1]
a nie
$_SESSION['odp1']

Jeśli zaś nie o to ci chodzi, lub nadal ci nie działa, to pokaż cały kod włącznie z Twoimi sesjami


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
dopal
post
Post #5





Grupa: Zarejestrowani
Postów: 131
Pomógł: 0
Dołączył: 9.02.2009

Ostrzeżenie: (0%)
-----


Cały kod działa ok, nie ma problemu z nim.
Tylko o ten fragment chodzi.
Zrobiłem tak:
  1. $pytanie3="SELECT MAPJPO, COUNT(*) as ilosc FROM MAGPOJ, SLRPRE
  2. WHERE MAPLIS Like '%{$_POST['kod']}%' AND MASRPK = SPSRPK AND SPSRPK Like '%{$_POST['preparat']}%' AND MAPJDW Between '".$czas1."' And '".$czas2."' GROUP BY MAPJPO ORDER BY ilosc DESC";
  3.  
  4. $result3 = odbc_exec($connect, $pytanie3) or die( odbc_error());
  5.  
  6. while(odbc_fetch_row($result3))
  7.  
  8. {
  9. $odp1 = odbc_result($result3, 1);
  10. $odp2 = odbc_result($result3, 2);
  11. $_SESSION[$odp1];
  12. {
  13. echo '<tr>
  14. <td width="15%" align="center">'.$odp1.'</td>
  15. <td width="10%" align="center""><b>'.$odp2.'</b></td>
  16. <td><a href="zest3_wyn.php?more='.$odp1.' " target=_blank>Szczegóły</a><td>
  17. </tr> ';
  18.  
  19. }}


Być może w złym miejscu to wstawiam?


Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




$_SESSION[$odp1];
No ale co to ma być? Do sesji sie przypisuje wartosci a ty nie robisz nic....

To jest przypisanie:
$_SESSION[$odp1] = 'Cos tam ala ma kota bla bla';

Albo tak:
$_SESSION['odp1'] = $odp1;
Wszystko zależy co ty chcesz z tym potem robić.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
dopal
post
Post #7





Grupa: Zarejestrowani
Postów: 131
Pomógł: 0
Dołączył: 9.02.2009

Ostrzeżenie: (0%)
-----


Tak, też nie działa.
$_SESSION[$odp1] = $odp1;
Go to the top of the page
+Quote Post
nospor
post
Post #8





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




A na czym polega to niedziałanie? Czy za każdym razem trzeba każdego z osobna o to samo pytać?
Pokaż jak ty to odbierasz, jakich oczekujesz rezultatów itp.... no nie każ nam o wszystko ciebie pokolei pytać. Nie na tym to polega

ps: no i najważniejsze pytanie: Po co ty w ogóle to do sesji zapisujesz?


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
dopal
post
Post #9





Grupa: Zarejestrowani
Postów: 131
Pomógł: 0
Dołączył: 9.02.2009

Ostrzeżenie: (0%)
-----


Cytat(nospor @ 31.10.2012, 15:35:14 ) *
Albo tak:
$_SESSION['odp1'] = $odp1;
Wszystko zależy co ty chcesz z tym potem robić.


Może jaśniej napiszę. Na innym przykładzie.
Otrzymuję w wyniku zapytania np 3 odpowiedzi.
W 1 wierszu:
pole odp1 - np. dom ( auto, butelka itp )
pole odp2 - np. 3
pole 3 to link w którym zostaje wstawiona zmienna odp1 czyli przykład linku : zest3_wyn.php?more=dom


klikając na ten link otwiera mi się nowa strona, na której wczytuję sesje ( kilka sesji mi sie wczytuje prawidłowo )
W zależności w który link kliknę ( zest3_wyn.php?more=dom lub zest3_wyn.php?more=auto itp )
to chcę by na tej nowej stronie była wyświetlona sesja np. dom lub auto

Może teraz to trochę jest jaśniej.

na nowo otwartej stronie będę wykonywał kolejne zapytanie, w którym będzie odwołanie do zmiennej odp1.

Przykład:
Jeśli w pierwszym pliku mamy, dom, auto, butelka to zakładamy ze klikam na dom.
To w drugim pliku
w zapytaniu będę miał select * from A where pole=dom dlatego chciałem to zrobić za pomocą sesji

Analogicznie z pozostałych przypadkach.

Ten post edytował dopal 31.10.2012, 15:46:16
Go to the top of the page
+Quote Post
nospor
post
Post #10





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Dalej nie rozumiem po co tu sesja.
Skoro do kolejnej strony przekazujesz wartość pobraną z bazy, to czemu na drugiej stronie nie możesz przeczytać z bazy tego co chcesz na podstawie wartości z linku? Sesja tu nie jest do niczego pottrzebna


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
dopal
post
Post #11





Grupa: Zarejestrowani
Postów: 131
Pomógł: 0
Dołączył: 9.02.2009

Ostrzeżenie: (0%)
-----


A jak by to wyglądało?
Jak odczytać wartość z linku, a później pobrać z bazy odpowiednie dane.

Do kolejnej strony nie przekazuje wartości z bazy danych.
W bazie mam dane:
Lp, MAPJPO, inne kolumny
1. dom, drewno, (i inne dane )
2. dom, szklo, (i inne dane )
3. dom, beton, (i inne dane )
4. dom, cegla, (i inne dane )
5. auto, blacha, (i inne dane )
6. butelka, szklo, (i inne dane )
7. auto, blacha, (i inne dane )
8. butelka, szklo (i inne dane )
9. auto, blacha, (i inne dane )

W pliku pierszym w zapytaniu zliczam ile razy wystapiła dana kategoria, czyli kolumna MAPJPO
W wynikach otrzymuje, w zmiennej odp1 - wszystkie kategorie MAPJPO jakie są w bazie
czyli z przkładu powyżej otrzymamny w kolumnie odp1:
dom
butelka
auto
w kolumnie drugiej otrzymamy ile razy dany element wystepuje, czyli otrzymamy
dom, 4
butelka, 2
auto, 3

w trzeciej kolumnie tworzę link, po kliknieciu na który otworzy mi się kolejny plik w którym
będą rozpisane sczegółowo wszystkie rekordy z danej grupy.
Czyli klikam na link dom, w wyniku ktoego otrzymam rekordy wraz ze zdefiniowanymi polami,
ktore mają być wyswietlone przy danym rekordzie.

Podobne zachowanie powinno być przy klikaniu w każdą z wyświetlonych grup.

Chciałem dla każdej z wyswietlanych grup utworzyc sesję, by w drugim pliku na podstawie odpowiedniej sesji wyciągnąc odpowiednie dane z bazy.
Być może to nie jest dobry pomysł, jak sugerowal nospor,
ale nie wiem jak inaczej by to mialo wyglądać.

Może ktos podac jakiś przykład?


Ok, poradziłem sobie.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 00:41