Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] sesja i problem z pętlą
agataperz
post
Post #1





Grupa: Zarejestrowani
Postów: 182
Pomógł: 0
Dołączył: 24.03.2009
Skąd: Hamburg DE

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


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. }
Go to the top of the page
+Quote Post
bzeebzee
post
Post #2





Grupa: Zarejestrowani
Postów: 38
Pomógł: 3
Dołączył: 25.12.2011

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


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.
Go to the top of the page
+Quote Post
Korab
post
Post #3





Grupa: Zarejestrowani
Postów: 202
Pomógł: 36
Dołączył: 10.06.2011
Skąd: Dokąd

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


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?
Go to the top of the page
+Quote Post
agataperz
post
Post #4





Grupa: Zarejestrowani
Postów: 182
Pomógł: 0
Dołączył: 24.03.2009
Skąd: Hamburg DE

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


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

Ten post edytował agataperz 27.02.2012, 19:22:32
Go to the top of the page
+Quote Post
Korab
post
Post #5





Grupa: Zarejestrowani
Postów: 202
Pomógł: 36
Dołączył: 10.06.2011
Skąd: Dokąd

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


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. }
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: 20.08.2025 - 06:20