Hi! I posted this question a while ago but it didn’t some out the way I expected it to, so I’ll try again.I’m currently working on a wepshop and i’m stuck at the point where i need to choose a size for the product and when i add the product to the cart till will show what size i have choosen.
What I need to to i to get the selected value in the optiontag:
[php]
<?php
foreach($pd_size as $value) //foreach-loopen fixar en option-tag runt varje värde av storlekarna
{
?>
<option name="size" value="<?php echo $value; ?>"><?php echo $value; ?></option>
<?php
}
?>
</select>[/php]
And send the chosen value to my cart-functions.php where it stores all the values of the purshes in my database (where the ‘M’ currently is located):
[php]$result = dbQuery($sql);
if (dbNumRows($result) == 0) {
// put the product in cart table
$sql = "INSERT INTO tbl_cart (pd_id, ct_size, ct_qty, ct_session_id, ct_date)
VALUES ($productId, 'M', 1, '$sid', NOW())";[/php]
And then be able to extract the chosen and stored size from my database and display it in my cart:
[php]
Right now, if I add a product to my cart it will automatically be in the size M whatever I choose in the optiontag. My question is what variable to put instead of the ‘M’ in cart-functions.php to be able to store the value of my optiontag instead og my static M.
Here is the 3 codes in there whole:
sizeselection.php:
[php]<?php
if (!defined(‘WEB_ROOT’)) {
exit;
}
$product = getProductDetail($pdId, $catId);
// we have $pd_name, $pd_price, —$pd_size,— $pd_description, $pd_image, $cart_url
extract($product);
?>
<?php echo $pd_name; ?> Price : <?php echo displayAmount($pd_price); ?> Size: <?php $sql = "SELECT pd_name, pd_size, pd_description, pd_price, pd_image, pd_qty FROM tbl_product WHERE pd_id = $pdId"; $result = mysql_query($sql) or print ("Can't select product id from table tbl_product. " . $sql . " " . mysql_error()); while($row = mysql_fetch_array($result)) { $product = getProductDetail($pdId, $catId); extract($product); $options = $pd_size; $pd_size = explode(",", $options); //plockar isär den ihopsatta storlekssträngen som lagrats i databasen till separata objekt ?>
|
|
<?php echo $pd_description; ?> |
And cart-functions.php:
[php]<?php
require_once ‘config.php’;
/*********************************************************
-
SHOPPING CART FUNCTIONS
*********************************************************/
function addToCart()
{
// make sure the product id exist
if (isset($_GET[‘p’]) && (int)$_GET[‘p’] > 0) {
$productId = (int)$_GET[‘p’];
} else {
header(‘Location: index.php’);
}
// does the product exist ?
$sql = "SELECT pd_id, pd_qty
FROM tbl_product
WHERE pd_id = $productId";
$result = dbQuery($sql);
if (dbNumRows($result) != 1) {
// the product doesn't exist
header('Location: cart.php');
} else {
// how many of this product we
// have in stock
$row = dbFetchAssoc($result);
$currentStock = $row['pd_qty'];
if ($currentStock == 0) {
// we no longer have this product in stock
// show the error message
setError('The product you requested is no longer in stock');
header('Location: cart.php');
exit;
}
}
// current session id
$sid = session_id();
// check if the product is already
// in cart table for this session
$sql = "SELECT pd_id
FROM tbl_cart
WHERE pd_id = $productId AND ct_session_id = '$sid'";
$result = dbQuery($sql);
if (dbNumRows($result) == 0) {
// put the product in cart table
$sql = "INSERT INTO tbl_cart (pd_id, ct_size, ct_qty, ct_session_id, ct_date)
VALUES ($productId, 'M', 1, '$sid', NOW())";
$result = dbQuery($sql);
} else {
// update product quantity in cart table
$sql = "UPDATE tbl_cart
SET ct_qty = ct_qty + 1
WHERE ct_session_id = '$sid' AND pd_id = $productId";
$result = dbQuery($sql);
}
// an extra job for us here is to remove abandoned carts.
// right now the best option is to call this function here
deleteAbandonedCart();
header('Location: ' . $_SESSION['shop_return_url']);
}
/*
Get all item in current session
from shopping cart table
*/
function getCartContent()
{
$cartContent = array();
$sid = session_id();
$sql = "SELECT ct_id, ct.pd_id, ct_size, ct_qty, pd_name, pd_price, pd_thumbnail, pd.cat_id
FROM tbl_cart ct, tbl_product pd, tbl_category cat
WHERE ct_session_id = '$sid' AND ct.pd_id = pd.pd_id AND cat.cat_id = pd.cat_id";
$result = dbQuery($sql);
while ($row = dbFetchAssoc($result)) {
if ($row['pd_thumbnail']) {
$row['pd_thumbnail'] = WEB_ROOT . 'images/product/' . $row['pd_thumbnail'];
} else {
$row['pd_thumbnail'] = WEB_ROOT . 'images/no-image-small.png';
}
$cartContent[] = $row;
}
return $cartContent;
}
/*
Remove an item from the cart
*/
function deleteFromCart($cartId = 0)
{
if (!$cartId && isset($_GET[‘cid’]) && (int)$_GET[‘cid’] > 0) {
$cartId = (int)$_GET[‘cid’];
}
if ($cartId) {
$sql = "DELETE FROM tbl_cart
WHERE ct_id = $cartId";
$result = dbQuery($sql);
}
header('Location: cart.php');
}
/*
Update item quantity in shopping cart
*/
function updateCart()
{
$cartId = $_POST[‘hidCartId’];
$productId = $_POST[‘hidProductId’];
$itemQty = $_POST[‘txtQty’];
$numItem = count($itemQty);
$numDeleted = 0;
$notice = ‘’;
for ($i = 0; $i < $numItem; $i++) {
$newQty = (int)$itemQty[$i];
if ($newQty < 1) {
// remove this item from shopping cart
deleteFromCart($cartId[$i]);
$numDeleted += 1;
} else {
// check current stock
$sql = "SELECT pd_name, pd_qty
FROM tbl_product
WHERE pd_id = {$productId[$i]}";
$result = dbQuery($sql);
$row = dbFetchAssoc($result);
if ($newQty > $row['pd_qty']) {
// we only have this much in stock
$newQty = $row['pd_qty'];
// if the customer put more than
// we have in stock, give a notice
if ($row['pd_qty'] > 0) {
setError('The quantity you have requested is more than we currently have in stock. The number available is indicated in the "Quantity" box. ');
} else {
// the product is no longer in stock
setError('Sorry, but the product you want (' . $row['pd_name'] . ') is no longer in stock');
// remove this item from shopping cart
deleteFromCart($cartId[$i]);
$numDeleted += 1;
}
}
// update product quantity
$sql = "UPDATE tbl_cart
SET ct_qty = $newQty
WHERE ct_id = {$cartId[$i]}";
dbQuery($sql);
}
}
if ($numDeleted == $numItem) {
// if all item deleted return to the last page that
// the customer visited before going to shopping cart
header("Location: $returnUrl" . $_SESSION['shop_return_url']);
} else {
header('Location: cart.php');
}
exit;
}
function isCartEmpty()
{
$isEmpty = false;
$sid = session_id();
$sql = "SELECT ct_id
FROM tbl_cart ct
WHERE ct_session_id = '$sid'";
$result = dbQuery($sql);
if (dbNumRows($result) == 0) {
$isEmpty = true;
}
return $isEmpty;
}
/*
Delete all cart entries older than one day
*/
function deleteAbandonedCart()
{
$yesterday = date(‘Y-m-d H:i:s’, mktime(0,0,0, date(‘m’), date(‘d’) - 1, date(‘Y’)));
$sql = “DELETE FROM tbl_cart
WHERE ct_date < ‘$yesterday’”;
dbQuery($sql);
}
?>[/php]
And lastly cart.php:
[php]<?php
require_once ‘library/config.php’;
require_once ‘library/cart-functions.php’;
$action = (isset($_GET[‘action’]) && $_GET[‘action’] != ‘’) ? $_GET[‘action’] : ‘view’;
switch ($action) {
case ‘add’ :
addToCart();
break;
case ‘update’ :
updateCart();
break;
case ‘delete’ :
deleteFromCart();
break;
case ‘view’ :
}
$cartContent = getCartContent();
$numItem = count($cartContent);
$pageTitle = ‘Shopping Cart’;
require_once ‘include/header.php’;
// show the error message ( if we have any )
displayError();
if ($numItem > 0 ) {
?>
Item | Unit Price | Quantity | Total | Size | ||
<?php echo $pd_name; ?> | <?php echo displayAmount($pd_price); ?> | <?php echo displayAmount($pd_price * $ct_qty); ?> | ';" class="button"> | <?php print $ct_size; ?> | <?php } ?>||
Sub-total | <?php echo displayAmount($subTotal); ?> | |||||
Shipping | <?php echo displayAmount($shopConfig['shippingCost']); ?> | |||||
Total | <?php echo displayAmount($subTotal + $shopConfig['shippingCost']); ?> | |||||
?>
<?php //require_once 'include/top.php'; ?>
You shopping cart is empty If you find you are unable to add anything to your cart, please ensure that your internet browser has cookies enabled and that any other security software is not blocking your shopping session. |
<?php if ($numItem > 0) { ?> | <?php } ?> |
Does anyone know how to help me? I’m really stuck and would LOVE some help!
If you want to see the webshop in real life, you can find it at this link:
http://sannakarlin.com/butik/index.php
Please help!
//Sanna
www.sannakarlin.com