Problem with shopcart code


Posted on 16th Feb 2014 07:03 pm by admin

Hello, I am having a bit of trouble being able to add a product to my shopcart. My mysql database is setup correctly with the tables (User, ShopCart, ShopCartLine, Product, Order, OrderLine, etc.).

Right now I am using mode to pass the item number (productID) to the shopcart. In my switch statement i am essentially getting that item number through the variable $action. The problem is my query doesn't work. Another problem is, I am not really sure of the correct way to setup session variables to be equal to the shopcartID in the shopcart table. More specifically, I'm not exactly sure how I can use the session_id() function to implement this. I currently hard coded a userid (from the user table) instead of passing the value through session. That is another issue which I am not concerned with at the moment. I just want to get this shopcart working in a reasonable fashion.

Can somebody give me an idea of what I am doing wrong and or what I need to do to make this work properly? I am really starting to get lost. By the way, I do plan on adding cases to the switch statement for update and delete. Thanks in advance everyone! Here is the code:

Code: <?php include 'db-inc.php'; ?>
<?php include 'header.php'; ?>

<!-- <html>
<head>
<title>Shopping Cart Contents:</title>
<style type="text/css">
th { background-color: #999;}
.odd_row { background-color: #EEE; }
.even_row { background-color: #FFF; }
</style>
<head>
<body>
<h1> Ecommerce Multimedia Store </h1>
-->
<?php
$action = $_GET['mode'];
$ProductID = $_GET['itemno'];
$session = session_id();
$UserID = 1;

//connect to mysql
$db = mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASSWORD) or
die ('Unable to connect. Check your connection parameters.');

//select database
mysql_select_db(MYSQL_DB) or die(mysql_error($db));

switch ($action) {
case 'add' :
if (!empty($ProductID)) {
$query = 'INSERT INTO ShopCart( UserID )VALUES( $UserID )';
mysql_query($query, $db) or die(mysql_error($db));

$query = ' SELECT ShopCartID FROM ShopCart WHERE UserID = $UserID ORDER BY ShopCartID DESC LIMIT 1'

$query = 'INSERT INTO ShopCartLine(ShopCartID, ProductID, Quantity)VALUES(" . $ShopcartID . '", "' . $ProductID. '", "', "' . $Quantity . '")';
mysql_query($query, $db) or die(mysql_error($db));

}
break;
}


$query = 'SELECT Product.ProductID, Quantity, Title, ListPrice
FROM ShopCartLine JOIN Product ON ShopCartLine.ProductID = Product.ProductID
JOIN ShopCart ON ShopCartLine.ShopCartID=ShopCart.ShopCartID
WHERE ShopCart.ShopCartID = "' . $session . '"
ORDER BY Product.ProductID ASC';
$result = mysql_query($query, $db) or die (mysql_error($db));

$rows = mysql_num_rows($result);
if ($rows == 1) {
echo '<p>You currently have 1 product in your cart.</p>';
} else {
echo '<p>You currently have ' . $rows . ' products in your cart.</p>';
}

if ($rows > 0) {
?>

<table style="width: 75%;">
<tr>
<th style="width: 100px;"> </th><th>Item Name</th><th><Quantity</th>
<th>Price Each</th><th>Extended Price</th>
</tr>
<?php
$total = 0;
$odd = true;
while ($row = mysql_fetch_array($result)) {
echo ($odd == true) ? '<tr class="odd_row">' : '<tr class="even_row">';
$odd = !$odd;
extract($row);
?>
<td><a href="shopcart.php?ProductID=<?php echo $ProductID;?>"><?php
echo $Title; ?></a></td>
<td>
<form method="post" action="shopcartupdate.php">
<div>
<input type="text" name="Quantity" maxlength="2" size="2"
value="<?php echo $Quantity; ?>"/>
<input type="hidden" name="ProductID"
value="<?php echo $ProductID; ?>"/>
<input type="hidden" name="redirect" value="shopcart.php"/>
<input type="submit" name=submit" value="Change Qty"/>
</div>
</form>
</td>
<td style="text-align: right;"> $<?php echo $ListPrice; ?></td>
<td style="text-align: right;"> $<?php echo number_format
($ListPrice * $Quantity, 2); ?>
</td>
</tr>
<?php
$total = $total + $ListPrice * $Quantity;
}
?>
</table>
<p> Your total before shipping is:
<strong>$<?php echo number_format($total, 2); ?></strong></p>
<form method="post" action="checkout.php">
<div>
<input type="submit" name="submit" value="Proceed to Checkout"
style="font-weight: bold;"/>
</div>
</form>
<form method="post" action="shopcartupdate.php">
<div>
<input type="hidden" name="redirect" value="index.php"/>
<input type="submit" name="submit" value="Empty Cart" />
</div>
</form>
<?php
}
?>

<hr/>
<p><a href="index.php">< Back to main page</a></p>
</body>
</html>


<?php include 'footer.php'; ?>

No comments posted yet

Your Answer:

Login to answer
334 Like 20 Dislike
Previous forums Next forums
Other forums

Probably Easy, Need help with Check Boxes in PHP Code
hello,

Thanks for looking this over and helping me out. My problem is I have a online store l

Mastering Regular Expressions, Third Edition, is available.
The Third Edition of Mastering Regular Expressions is available.

QuoteThis third edition is 5

Need help PLEASE
ok i have this warning showing up

Warning: in_array() [function.in-array]: Wrong datatype for

Help with some dates
I have a list of dates in an array:

$mondays = array(
strtotime("October 12, 2009

ASP.NET 2.0 - Enter Key - Default Submit Button
Hi,One of the most annoying things in developing web pages is handling the "Enter key" for form subm

Request-URI Too Large
I have created a simple submit form for a mysql database that puts a piece of code into database.<

Keeping track of php uploads
Hello all.

I was looking at the way PHP handles file uploads.
It seems that PHP uses a tem

Send current URL in URL with a $_GET variable problem.
Hello community,

I have created a function that gets the current variable of a page, example:

HOW to get the bind variables list.
I've the following problem : I've some SQL queries stored in my DB as VARCHAR2 values.
I need t

article site help remaining text
Hi all hope you will be fine
I am creating a article site in this site i want to put some text on

Sign up to write
Sign up now if you have flare of writing..
Login   |   Register
Follow Us
Indyaspeak @ Facebook Indyaspeak @ Twitter Indyaspeak @ Pinterest RSS



Play Free Quiz and Win Cash