/** * Hakee, ja palauttaa tilaukseen liitettyjen tuotteiden tiedot. * @param DByhteys $db * @param int $tilaus_id * @return array <p> Array of objects. tiedot tilatuista tuotteista. Palauttaa tyhjän arrayn, jos ei tuotteita */ function get_products_in_tilaus(DByhteys $db, $tilaus_id) { $sql = "SELECT tuote_id AS id, pysyva_hinta, pysyva_alv, pysyva_alennus, kpl,\n\t\t\t\t( (pysyva_hinta * (1 + pysyva_alv)) * (1 - pysyva_alennus) ) AS maksettu_hinta,\n\t\t\t\t tuote.articleNo, tuote.brandNo\n\t\t\tFROM tilaus_tuote\n\t\t\tLEFT JOIN tuote ON tuote.id = tilaus_tuote.tuote_id\n\t\t\tWHERE tilaus_id = ?"; $products = $db->query($sql, [$tilaus_id], FETCH_ALL); get_basic_product_info($products); return $products; }
/** * Hakee tietokannasta kaikki ostoskorissa olevat tuotteet. * @param DByhteys $db * @param Ostoskori $cart * @return array */ function get_products_in_shopping_cart(DByhteys $db, Ostoskori $cart) { $products = array(); //Tarkistetaan, että tuotteiden ID:t on haettu ostoskorissa, ja jos ei, niin tehdään se. if ($cart->cart_mode != 1) { $cart->hae_ostoskorin_sisalto($db, TRUE); } if (!empty($cart->tuotteet)) { $ids = array_keys($cart->tuotteet); $placeholders = str_repeat('?, ', count($cart->tuotteet) - 1) . '?'; $sql = "SELECT\tid, articleNo, brandNo, tuotekoodi, hinta_ilman_alv, varastosaldo, minimimyyntiera, \n\t\t\t\t\talennusera_kpl, alennusera_prosentti, \n\t\t\t\t\t(hinta_ilman_alv * (1+ALV_kanta.prosentti)) AS hinta, ALV_kanta.prosentti AS alv_prosentti\n\t\t\t\tFROM\ttuote\n\t\t\t\tLEFT JOIN ALV_kanta\n\t\t\t\t\tON tuote.ALV_kanta = ALV_kanta.kanta\n\t\t\t\tWHERE \ttuote.id IN ( {$placeholders} )"; $rows = $db->query($sql, $ids, FETCH_ALL); foreach ($rows as $row) { $row->cartCount = $cart->tuotteet[$row->id]->kpl_maara; $products[] = $row; } //Haetaan tuotteille tarkemmat tiedot tecdocista get_basic_product_info($products); } return $products; }
exit; } else { $_SESSION["feedback"] = "<p class='error'>ERROR.</p>"; } } if (!empty($_POST)) { header("Location: " . $_SERVER['REQUEST_URI']); //Estää formin uudelleenlähetyksen exit; } $feedback = isset($_SESSION["feedback"]) ? $_SESSION["feedback"] : ""; unset($_SESSION["feedback"]); $sql = " SELECT *, SUM(ostohinta * kpl) AS tuotteet_hinta FROM ostotilauskirja_tuote_arkisto\n LEFT JOIN tuote\n ON ostotilauskirja_tuote_arkisto.tuote_id = tuote.id \n WHERE ostotilauskirja_id = ?\n GROUP BY ostotilauskirja_id"; $products = $db->query($sql, [$ostotilauskirja_id], FETCH_ALL); if ($products) { get_basic_product_info($products); } $yht_hinta = !empty($products) ? $products[0]->tuotteet_hinta + $otk->rahti : $otk->rahti; ?> <!DOCTYPE html> <html lang="fi" xmlns="http://www.w3.org/1999/html"> <head> <meta charset="UTF-8"> <link rel="stylesheet" href="css/styles.css"> <link rel="stylesheet" href="css/jsmodal-light.css"> <link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons"> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script> <script src="js/jsmodal-1.0d.min.js"></script>