Example #1
0
 /**
  * Lementi a Cart objektumban lévő összes tételt.
  *
  * Külön szedem két halmazra a kosár tartalmát.
  * 1. amelyek már bent vannak az sql táblában -> Update kell,
  * 2. amelyek nincsennek az adat táblában, azoknak -> Insert kell.
  *
  * Ha a Cart osztályban történnének az sql műveletek, akkor nem kellene itt szétválogatni.
  */
 public function saveCart()
 {
     //void
     $conn = new ConnectionHandler();
     //bejárjuk a kosárban lévő termékek listáját.
     foreach ($this->getCart()->getProducts() as $value) {
         $quantity = $this->getCart()->valueOfQuantity($value);
         //ami benne van, arra mindre megy az update.
         $count = $conn->preparedCountQuery("SELECT count(*) FROM kosar WHERE u_id = ? AND termek_id = ?", array($this->getId(), $value->getId()));
         if ($count[0] >= 1) {
             //amelyek szerepelnek a Kosar táblában, updatet kapnak a mennyiseg oszlopra.
             $conn->preparedUpdate("Kosar", array("mennyiseg"), array($quantity), "u_id = ? and termek_id = ?", array($this->getId(), $value->getId()));
         } else {
             //amelek eddig nem voltak a Kosar táblában beszúrásra kerülnek.
             $conn->preparedInsert("Kosar", array("u_id", "termek_id", "mennyiseg"), array($this->getId(), $value->getId(), $quantity));
         }
     }
     ///$this->conn->close(); azért se zárom be :D
 }
Example #2
0
//a szükséges mennyiség nyilvántartása kulcs: termek_id => szükséges mennyiség
$kellDb = array();
//ez előtt ellenőrzés történik ,hogy van-e elég termék raktáron, így csak akkor jutunk el ide, ha igen.
while ($row = $stmt2->fetch(PDO::FETCH_NUM, PDO::FETCH_ORI_NEXT)) {
    echo $row[0] . " " . $row[1] . " " . $row[2] . " " . $row[3] . " " . $row[4] . " " . $row[5] . " " . $row[6] . "<br>";
    $termek_id = $row[2];
    //ha nem létezik a termek_id akkor belerakjuk a szükséges mennyiséget
    if (array_key_exists($row[2], $kellDb) == false) {
        $kellDb[$termek_id] = $row[4];
    }
    //ha a szükséges mennyiség nagyobb mint nulla az adott termék_id esetén.
    if ($kellDb[$termek_id] > 0) {
        $raktaron = $row[3];
        //ha több kellene mint amennyi van az adott szállítmányban a termékből, vagy ugyanannyi
        if ($raktaron - $kellDb[$termek_id] < 0 || $raktaron - $kellDb[$termek_id] == 0) {
            $kellDb[$termek_id] = $kellDb[$termek_id] - $raktaron;
            $raktaron = 0;
            echo "update raktaron:" . $raktaron . " && ennyi kell meg: " . $kellDb[$termek_id] . "<br>";
            $conn->preparedDelete("raktar", "termek_id=? and szall_id=? and mennyiseg=? and stat_id", array($termek_id, $row[0], $row[3], $row[5]));
        } else {
            $raktaron -= $kellDb[$termek_id];
            $kellDb[$termek_id] = 0;
            echo "update raktaron:" . $raktaron . " ennyi kell meg: " . $kellDb[$termek_id] . "<br>";
            $conn->preparedUpdate("raktar", "mennyiseg", array($raktaron), "raktar", "termek_id=? and szall_id=? and mennyiseg=? and stat_id", array($termek_id, $row[0], $row[3], $row[5]));
        }
    }
}
?>
</body>
</html>