Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: foreach + sesja
Forum PHP.pl > Forum > PHP
kosmos
Witam nie znalazłem podonego problemu więc założyłem temat.

jeszcze raczkuję w php a w trakcie nauki wypadł następujący problem:

Chcę aby produkty wybrane przez klienta który chce je kupić, zapisywane były do sesji w postaci tablicy:

próbowałem coś takiego ale nie działa:

CODE
$_SESSION['koszyk']['id_uzytkownika']=001;
$_SESSION['koszyk']['Nazwa_towaru']='Procesor';
$_SESSION['koszyk']['EAN-13']='9834811482301';
$_SESSION['koszyk']['Nazwa_towaru']='myszka';
$_SESSION['koszyk']['EAN-13']='9434821329301';


itd.. są to produkty które wrzuca do koszyka uzytkownik o numerze id 001;


nie wiem czy powyższy kod jest poprawny a juz napewno jak drukowac te dane pętlą FOREACH... próbowałem na różne sposoby i nie wychodziło.

Po zatwierdzeniu przez uzytkownika swoich towarów do kupna w koszyku Towary te wędrowały by do bazy MySql do tabeli zamówienia.

Czytałem już o sesjach ( koszykach ) na tym forum ale poprostu posty są dla mnie niezrozumiałe Nie wiem czy powyzszy kod który napisałem jest dobry ... proszę o jakiś pomysł w związku z tym fantem.
Pozdrawiam
AxZx
  1. <?php
  2. $_SESSION['koszyk'][] = array(
  3. 'id_uzytkownika' => '001',
  4. 'Nazwa_towaru' => 'procesor',
  5. 'EAN-13' => '9434821329301'
  6. );
  7. $_SESSION['koszyk'][] = array(
  8. 'id_uzytkownika' => '001',
  9. 'Nazwa_towaru' => 'płyta',
  10. 'EAN-13' => '435546'
  11. );
  12.  
  13. echo '<pre>';
  14. print_r($_SESSION);
  15. echo '</pre>';
  16. ?>

wynik
Kod
Array
(
    [koszyk] => Array
        (
            [0] => Array
                (
                    [id_uzytkownika] => 001
                    [Nazwa_towaru] => procesor
                    [EAN-13] => 9434821329301
                )

            [1] => Array
                (
                    [id_uzytkownika] => 001
                    [Nazwa_towaru] => płyta
                    [EAN-13] => 435546
                )

        )


)
Mlodycompany
mozesz tez inaczej(chyba:D)
  1. <?php
  2. foreach($_SESSION as $nazwa=>$v){
  3.  
  4. $id = $v['id_uzytkownika'];
  5. $nazwa_towaru = $v['nazwa_towaru'];
  6. $EAN-13 = $v['EAN-13'];
  7. echo $id;
  8. echo $nazwa_towaru;
  9. echo $EAN-13;
  10. }
  11. ?>

Wg mnie to powinno działa ale nie musi. biggrin.gif

W tablicy nie mozesz miec dwoch rekordów o takiej samej wartosci czyli tablice powinna wygladac tak:

$_SESSION['koszyk']['id_uzytkownika']=001;
$_SESSION['koszyk']['Nazwa_towaru']='Procesor';
$_SESSION['koszyk']['EAN-13']='9834811482301';
$_SESSION['koszyk1']['Nazwa_towaru']='myszka';
$_SESSION['koszyk1']['EAN-13']='9434821329301';

lub

$_SESSION['koszyk']['id_uzytkownika']=001;
$_SESSION['koszyk']['Nazwa_towaru1']='Procesor';
$_SESSION['koszyk']['EAN-13-1']='9834811482301';
$_SESSION['koszyk']['Nazwa_towaru'2]='myszka';
$_SESSION['koszyk']['EAN-13-2']='9434821329301';
kosmos
Dziękuję bardzo za odpowiedzi smile.gif
Widzę że to forum naprawdę jest pomocne i post nie pozostaje bez odpowiedzi co mnie bardzo cieszy.
Jak tylko okiełznam ten świąteczny chaos, przetestuje wasze propozycje i dam znać smile.gif
Dzięki jeszcze raz winksmiley.jpg

Działa elegancko smile.gif
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.