Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Tablice a pętle
matyskiewicz
post 18.05.2009, 11:37:02
Post #1





Grupa: Zarejestrowani
Postów: 184
Pomógł: 3
Dołączył: 6.10.2006
Skąd: Poznań

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


Witam
Mam tablicę $_SESSION['cart']:
  1. Array
  2. (
  3. [0] => Array
  4. (
  5. [id] => 6
  6. [ilosc] => 12
  7. )
  8.  
  9. [1] => Array
  10. (
  11. [id] => 23
  12. [ilosc] => 23
  13. )
  14.  
  15. [2] => Array
  16. (
  17. [id] => 28
  18. [ilosc] => 23
  19. )
  20.  
  21. )


Przepisuje ją do $zam[$i]:
  1. <?php
  2. for($i = 0; $i < count($_SESSION['cart']); $i++)
  3.        {
  4.            if(isset($_SESSION['cart'][$i]['id']))
  5.            {
  6.                $row = $db -> dbSelect("SELECT * FROM `Products` WHERE id = ".$_SESSION['cart'][$i]['id']);    
  7.                $zam[$i]['lp'] = $i+1;
  8.                $zam[$i]['id'] = $_SESSION['cart'][$i]['id']; //sesja
  9.                $zam[$i]['ean'] = $row[0]['ean']; //baza danych            
  10.                $zam[$i]['name'] = $row[0]['name']; //baza danych
  11.                $zam[$i]['ilosc'] = $_SESSION['cart'][$i]['ilosc']; //sesja
  12.                $zam[$i]['price'] = $row[0]['price']; //baza danych
  13.                $zam[$i]['price2'] = $row[0]['price'] * 1.22; //baza danych
  14.                $zam[$i]['priceIlosc'] = $row[0]['price'] * $_SESSION['cart'][$i]['ilosc']; //baza i sesja
  15.                $zam[$i]['priceIlosc2'] = $row[0]['price'] *$_SESSION['cart'][$i]['ilosc'] * 1.22; //baza i sesja
  16.            }
  17.  
  18.        }
  19. ?>

następnie $zam[$i] przekazuje do SMARTY i wyświetlam.
Operacja funkcjonuje poprawnie do momentu usunięcia powiedzmy środkowego elementu (nieostatniego):
$_SESSION['cart']:
  1. Array
  2. (
  3. [0] => Array
  4. (
  5. [id] => 6
  6. [ilosc] => 12
  7. )
  8.  
  9. [2] => Array
  10. (
  11. [id] => 28
  12. [ilosc] => 23
  13. )
  14.  
  15. )

W tej sytuacji wyświetla się się tylko [0] natomiast [2] istnieje w tablicy ale się nie wyświetla.
W jaki sposób mogę rozwiązać ten problem?

Zapewne wykorzystanie foreach jest bardziej optymalne lecz niestety nie umiem przekształcić mego kodu na tą pętlę.


--------------------
eclipse :)
Go to the top of the page
+Quote Post

Posty w temacie


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 Wersja Lo-Fi Aktualny czas: 14.08.2025 - 20:17