Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Koszy z XML i powtarzające się przedmioty
gcdreak
post
Post #1





Grupa: Zarejestrowani
Postów: 365
Pomógł: 8
Dołączył: 16.12.2008

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


Witam!
Chcę stworzyć klasę Koszyk działającą w oparciu o plik XML.
Mam jednak problem z kilkukrotnym dodawaniem tego samego przedmiotu.
Moja metoda dodająca produkty do pliku wygląda tak:
Kod
public function addItem($itemId, $itemQuantity){
            $this->createCard();
            $xml = new SimpleXMLElement(self::CARDS_DIR.$this->cardName.'.xml', NULL, true);
            $item = $xml->addChild('item');
        if(! in_array($itemId,$xml->xpath('//id'))){ //z tą linijką mam problem:/
                $item->addChild('id', $itemId);
                $item->addChild('quantity', $itemQuantity);
        }else{
            //kombinuj z powtórkami!
        }
            $xml->asXML(self::CARDS_DIR.$this->cardName.'.xml');
        }

Troche kombinowałem ale niestety bezskutecznie.
Plik XML wygląda tak:
Kod
<items>
    <item>
        <id>
            klawiatura
        </id>
        <quantity>
            2
        </quantity>
    </item>
    <item>
        <id>
            klawiatura
        </id>
        <quantity>
            2
        </quantity>
    </item>
</items>

Jak zmienić metodę addItem, aby w razie istnienia produktu w pliku, jedynie zwiększała jego ilość, a nie dodawała nowy węzeł <item />.
Pozatym to co sądzicie o takim podejściu do budowy koszyka?
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 16.10.2025 - 15:07