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.

Did you know?Explore Trending and Topic pages for more stories like this.
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

modifying query string with no page refresh
Hi everybody,
I've tried to get info about my problem all over the internet but i didn't find out

email CODING Problem
Email coding problem.

I need to send a section of the info to $tf and the same as a Cc to $em

Solution to the FindControl problem
I have seen may posts about having problems with the FindControl method. Most seem to come about bec

PHP template help
Ok, I don't know if anyone can help me but I am using PHP templates to make a site. I am a newbie an

uploading video files into mysql in php
hi,
I have the video files which i have to upload into mysql db. along with creating thumbnails f

Operator precedence assistance.
I did a quick Google search and couldn't quite find the answer I wanted in terms I could understand,

2 decima places & How to reload my page
Hello There,

How do i put full-stop (.) after second figure from behind? ie if i have 123456

Putting double spaces instead of single spaces
Im looking at trying to replace all single spacing between fields with double spacing

At pres

links using header()
Hi All

I'm not sure where to ask for help on this but I hope someone can offer some. I'm at

Get content from table into a list, without repeating.
Alright this is kinda an odd thing, so I need some help.

I have a table "quote" wit

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