Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] sesja i problem z pętlą
Forum PHP.pl > Forum > Przedszkole
agataperz
Witam,

mam taki skrypt i nie mogę sobie z nim poradzić. Pomożecie mi?

  1. <?
  2. if (count($_SESSION["koszyk"])>0) {
  3. echo " jest pusta ";
  4. } else {
  5. $id = (count($_SESSION["koszyk"]);
  6. foreach($_SESSION["koszyk"] < 0) {
  7. $lacznie += $_SESSION["koszyk"]["$id"]["cena"] * $_SESSION["koszyk"]["$id"]["ile"];
  8. $id = $id - 1;
  9. }
  10. echo number_format($lacznie,2,".","")." zł";
  11. }
bzeebzee
Nie wiadomo z czym i gdzie masz problem. Domyślam się, że chodzi o pierwszy warunenk który zawsze prowadzi do "jest pusta".

Funkcja count służy do zliczania elementów tablicy lub pół obiektu. Domyślam się, że w tej zmiennej masz wartośc liczbową a nie tablicę biggrin.gif.
Korab
Pętli foreach używa się inaczej. Użyj raczej pętli while w taki sposób:
  1. if (count($_SESSION["koszyk"])==0) { // Nie większa od zera, tylko równa zeru
  2. echo "Sesja jest pusta ";
  3. } else {
  4. $id = count($_SESSION["koszyk"];
  5. while($id < 0) { //Pętli foreach używa się w inny sposób, poczytaj sobie o różnicach między foreach a while
  6. $lacznie += $_SESSION["koszyk"][$id]["cena"] * $_SESSION["koszyk"][$id]["ile"];
  7. $id = $id - 1;
  8. }
  9. echo number_format($lacznie,2,".","")." zł";
  10. }

Czy to Ci działa? Jeżeli nie, to co się wyświetla?
agataperz
Wyświetla mi:
  1. Parse error: syntax error, unexpected ';' in /homepages/4/d3956/htdocs/abc/test.php on line 4


i znalazlam blad:

  1. $id = count($_SESSION["koszyk"]);


brakowalo nawiasu

tylko nie wiem czemu nie sumuje mi
Korab
Bo jest niedomknięty nawias, nie zauważyłem. A teraz działa?
  1. if (count($_SESSION["koszyk"])==0) { // Nie większa od zera, tylko równa zeru
  2.  
  3. echo "Sesja jest pusta ";
  4.  
  5. } else {
  6.  
  7. $id = count($_SESSION["koszyk"]);
  8.  
  9. while($id < 0) { //Pętli foreach używa się w inny sposób, poczytaj sobie o różnicach między foreach a while
  10.  
  11. $lacznie += $_SESSION["koszyk"][$id]["cena"] * $_SESSION["koszyk"][$id]["ile"];
  12.  
  13. $id = $id - 1;
  14.  
  15. }
  16.  
  17. echo number_format($lacznie,2,".","")." zł";
  18.  
  19. }
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.