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
20
Other forums
Placing and array within an array then sorting it!
I have a page that runs two large mysql queries and saves the results into arrays, in php I then per
quick basic question, hopefully not dumb
I don't know how to search for this, so forgive me if it's been covered...
I often see an exa
Run function every 5 mins ??
I have a function PostMessage()
How can I run it every 5 mins ??
simple php table loop
Hi all,
I've the following code
<?php // Create category options
Add "width" check when upload
Hi!
Can someone add a function that is checking if picture witdh is bigger then 800px whwn up
Else statement screws up all css
Does anyone know what goes wrong in the process with this php code?
This code seems to be causing
Something Non-Traditional. Can we solve?
I have an idea for an application here. It's mostly flash, but it couldn't work without a somewhat n
asking for direction
I have 2 tables in my data, which are "post" and "event"
I won't make a summa
natcasesort works on one server but not on another
Hi
I have a problem that I was hoping that someone can help me with.
I'm trying to use
iterating through an array and escape each value independently.
I have a set up where the variable being escaped is an array and it needs to be iterated and escaped