Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: rejestracja tablicy w sesji
Forum PHP.pl > Forum > Przedszkole
polibode
dlaczego dziewczyny i chłopaki nie działa mi takie cuś?


  1. <?php
  2.  
  3.  
  4. if (!session_is_registered ('KZamNetto_'))
  5. session_register ('KZamNetto_');
  6. if (!session_is_registered ('KZamData_'))
  7. session_register ('KZamData_');
  8.  
  9. if (!isset($_SESSION['KZamNetto_']))
  10. $_SESSION['KZamNetto_'][] = $KZamNetto;
  11. if (!isset($_SESSION['KZamData_']))
  12. $_SESSION['KZamData_'][] = $KZamData;
  13.  
  14.  
  15. ?>

$KZamNetto i $KZamData to są tablice
crash
RTFM!
Cytat(Święty Manual)
Używając $_SESSION lub $HTTP_SESSION_VARS nie ma potrzeby używać funkcji session_register()/session_unregister()/session_is_registered().
polibode
zdaje ci się tylko , ze nie ma potrzeby

zbudowałem system raportowania, gdzie na jednej z podstron ustawia się parametry , z ktorymi ma się generować raport z bazy danych

następnie niektore ze zmiennych sesyjnych są przetwarzane dalej.
Jeśli podczas jednego zalogowania , czyli bycia w sesji , zachciałoby się wywołać raport z innymi parametrami

pozatym odpowiadaj na pytanie , a nieściemnia arogancko RTFM
ok?

chodziło mi tylko o przypisanie do zmiennej sesyjnej
$_SESSION['KZamNetto_'][] = $KZamNetto;
jakiejs zmiennej tablicowej

działa mi takie coś
$_SESSION['KZamNetto_'][1][] = $KZamNetto;

zastanawiałem się tylko dlaczego akurat tak, zeby w kolumnie była [1], hm

i proszę odpowiadaj na pytania , a nie sciemniaj , bo jesli jest jakas funkcja
session_register (), to po cos ona jest
crash
Nie mogę odpowiedzieć czemu nie działa bo u mnie działa...
  1. <?php
  2.  
  3. $tablica = array('one', 'two', 'three');
  4.  
  5. $_SESSION['pole'][] = $tablica;
  6.  
  7. print_r($_SESSION['pole'][0]);
  8. ?>

Wyświetla:
Kod
Array ( [0] => one [1] => two [2] => three )
polibode
a jak używam innego wzoru na tablice

  1. <?php
  2.  
  3. $tablica[0] = 'jeden';
  4. $tablica[1] = 'dwa';
  5. $tablica[2] = 'trzy';
  6.  
  7. $_SESSION['pole'][] = $tablica;
  8.  
  9. print_r($_SESSION['pole'][2]);
  10. ?>

i chciałbym wyświetlic 3 komorkę jak powyżej (zaznaczam , że $tablica może mieć tysiące rekordów (nie mogę korzystać z twojego schematu na tablice )

  1. <?php
  2.  
  3. $tablica = array('one', 'two', 'three');
  4.  
  5. ?>


myślę, że dasz radę mi pomoc
crash
No ale ustawiając:
  1. <?php
  2. $_SESSION['pole'][] = $tablica;
  3. ?>

I jeśli w $_SESSION['pole'] nie było wcześniej żadnego elementu to ta tablica jest ustawiana na pozycji 0, a Ty w następnej linijce próbujesz wyświetlić zawartość z pozycji 2, która nie istnieje... Ta tablica będzie na pozycji 2 dopiero po 2 odświeżeniach strony, ale to chyba bezsens zapychać sesje takimi samymi tablicami... A może chodzi Ci o $_SESSION['pole'][0][2]?
polibode
powiem ci tak : mam coś takiego ->
  1. <?php
  2.  
  3.  
  4. if (!session_is_registered ('KZamNetto_') and !session_is_registered ('KZamData_'))
  5. {
  6. $zapytanie_sprz_koszalin=&#092;"exec intra_wusr_SprzDzienZam_koszalin $rok_p, $miesiac_p\";
  7.  
  8. $wykonaj = mssql_query ($zapytanie_sprz_koszalin);
  9.  
  10. while($wiersz=mssql_fetch_array ($wykonaj))
  11. {
  12. $KZamPozycja[] = $wiersz['ODD'];
  13. $KZamRok[] = $wiersz['Rok'];
  14. $KZamMiesiac[] = $wiersz['Miesiac'];
  15. $KZamDzien[] = $wiersz['Dzien'];
  16. $KZamNetto[] = $wiersz['netto'];
  17. $KZamData[] = $wiersz['Data'];
  18. }
  19. $row_count_sprz_koszalin = mssql_num_rows($wykonaj);
  20. //echo $row_count_sprz_koszalin.'K'; echo \"<br>\";
  21.  
  22. if (!session_is_registered ('KZamNetto_'))
  23. session_register ('KZamNetto_');
  24. if (!session_is_registered ('KZamData_'))
  25. session_register ('KZamData_');
  26.  
  27. if (!isset($_SESSION['KZamNetto_']))
  28. $_SESSION['KZamNetto_'][1][] = $KZamNetto;
  29. if (!isset($_SESSION['KZamData_']))
  30. $_SESSION['KZamData_'][1][] = $KZamData;
  31. }
  32. else
  33. {
  34. //echo $_SESSION['KZamNetto_'][1][0];
  35. $KZamNetto = $_SESSION['KZamNetto_'][1];
  36. $KZamData = $_SESSION['KZamData_'][1];
  37. }
  38. echo $KZamNetto[2];
  39.  
  40. ?>

(niestety nie działa to )sad.gif
i teraz chciałbym aby zmienne tablice , które wyrzuca zapytanie zatrzymane zostały w sesji i aby za drugim razem juz nie potrzeba było pobierac informacji z bazy danych co niestety niewątpliwie strasznie spowalnia proces wyświetlania
dzieki, licze na pomoc
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.