witam mam taki skrypt obsługi koszyka

  1. <?php
  2.  
  3. class Cart {
  4.  
  5. var $buy;
  6. var $count;
  7. var $txt;
  8.  
  9. function Cart (){
  10. $this->buy = array();
  11. $this->txt = array();
  12. }
  13.  
  14. function __error( $ERR ){
  15. die ( $ERR );
  16. }
  17.  
  18. function addItemSession (){
  19. foreach (unserialize($_SESSION['items']) as $key=>$value) {
  20. for( $i = 0; $i < $value; $i++ ){
  21. $this->buy[$key] = $value;
  22. }
  23. $this->count = count($this->buy);
  24. $this->txt;
  25. }
  26. $this->count = count($this->buy);
  27. }
  28.  
  29. function addItem ( $ID, $COUNT, $TXT){
  30. // sprawdzenie czy podane jest ID i COUNT
  31. if( Empty ( $ID ) OR !is_numeric ( $ID ) OR Empty ( $COUNT ) OR !is_numeric ( $COUNT ) )
  32. $this->__error ( "Nie podano ID, lob nie było ono liczbą." );
  33. for( $i = 0; $i < $COUNT; $i++ )
  34. $this->buy[$ID] = $COUNT;
  35. $this->txt[$ID] = $TXT;
  36. $this->count = count($this->buy);
  37. }
  38.  
  39. function removeItem ( $ID ) {
  40. if( Empty ( $ID ) OR !is_numeric ( $ID ))
  41. $this->__error ( "Nie podano ID, lob nie było ono liczbą." );
  42. unset( $this->buy[$ID] );
  43. }
  44.  
  45. function getPrice(){
  46. $price = 0;
  47. foreach ( $this->buy AS $ID => $COUNT ){
  48. $query = mysql_fetch_array(mysql_query("SELECT cena FROM produkty WHERE id_produkt = '" . $ID . "' "));
  49. $price = $price + ($COUNT * $query["cena"]);
  50. }
  51. return $price;
  52. }
  53.  
  54. function getMail(){
  55. //$price = 0;
  56. foreach ( $this->buy AS $ID => $COUNT ){
  57. $tx=$this->txt[$ID];
  58. $query = mysql_fetch_array(mysql_query("SELECT cena,nazwa,id_produkt FROM produkty WHERE id_produkt = '" . $ID . "' "));
  59. $table = ''.$query["nazwa"].' SZTUK: '.$COUNT.' CENA: '.$query["cena"].' PLN ROZMIAR/KOLOR '.$tx.'';
  60. //$price = $price + ($COUNT * $query["cena"]);
  61. }
  62. return $table;
  63. }
  64.  function getProductTable(){
  65. $price = 0;
  66. $table = '<div align="center"><table border="0" width="472"><tr><td><table border="1" width="500" bgcolor="#8A5944" cellspacing="0" cellpadding="0"><tr><td align="center" height="24" valign="middle"><b><font color="#FFFFFF">Produkt</font></b></td><td align="center" width="38" height="24" valign="middle"><b><font color="#FFFFFF">Ilość</font></b></td><td align="center" width="100" height="24" valign="middle"><b><font color="#FFFFFF">Cena</font></b></td><td align="center" width="41" height="24" valign="middle"><b><font color="#FFFFFF">Akcja</font></b></td></tr><tr>';
  67. foreach ($this->buy AS $ID => $COUNT){
  68. $query = mysql_fetch_array(mysql_query("SELECT cena,nazwa,id_produkt FROM produkty WHERE id_produkt = '" . $ID . "' "));
  69. $table .= '<tr><td valign="middle">&nbsp;<font color="#FFFFFF">'.$query["nazwa"].'</font</td><td width="38" valign="middle"><p align="center"><font color="#FFFFFF">'.$COUNT.'</font></td><td width="100" valign="middle"><p align="right"><font color="#FFFFFF">'.$query["cena"].' PLN &nbsp;</font> </td><td width="41" valign="middle"><p align="center"><a href="?page=koszyk&show=all&akcja=usun&dl='.$query["id_produkt"].'"><img border="0" src="img/b_drop.png" alt="Usuń produkt z koszyka"></a></td></tr>';
  70. $price = $price + ($COUNT * $query["cena"]);
  71. }
  72. return $table.'</table></td></tr><tr><td>&nbsp;</td></tr><tr><td><div align="right"><table border="1" width="180" bgcolor="#8A5944" cellspacing="0" cellpadding="0"><tr><td valign="middle"><p align="center">&nbsp;<b><font color="#FFFFFF">Suma:</font></b></td><td width="110" valign="middle"><p align="center"><b><font color="#FFFFFF">'.$price.' PLN </font></b></td></tr></table></div></td></tr></table></div>';
  73. }
  74.  
  75. function saveItems (){
  76. if ( IsSet ( $this->count ) )
  77. $_SESSION['items'] = serialize($this->buy);
  78. }
  79.  
  80. function clearItems (){
  81. unset($this->buy);
  82. unset($_SESSION['items']);
  83. }
  84.  
  85. }
  86. $kart = new Cart();
  87. ?>


Całośc dziala lecz
  1. <?php
  2. $this->txt[$ID]
  3. ?>
wyświetla tylko ostatni wpisz czemu questionmark.gif
oraz funkcja
Kod
getMail()
nie jest przywoływana przez echo tylko jako zmienna
  1. <?php
  2. $msg.=$kart->getMail();
  3. ?>

i niestety w tym przypadku
  1. <?php
  2. $this->txt[$ID]
  3. ?>
mi sie nie wyświelta co mam z tym zrobic questionmark.gif

jest to bardzo ważne i naprawde mi sie spieszy sad.gif