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'; ?>
Session login issue
I'm wondering how to fix a problem I'm having with a session-based login systemSay I go to http://www.website.comThe page that processes the login then returns the now-logged-in user to
Creating a unique 'control panel' for each user
Hi there,I'm thinking of designing a site that will allow users to sign up and have their own unique 'control panel'.I just need some pointers on the logic behind this design, specifically:How can I
Chat Box in PHP
I was thinking in doing a Chat Box in PHP. For that I would use a form with two fields, Nick and Message, then I would store the data in a DB and show them.I have already made the code for this. In
Not "Just Another" MMORPG - text based.
Hello,I've been learning MySQL and PHP for the last 2-3 years.Though, I've had long pauses and months without touching PHP.Now, I started at a new school this autumn, and I found that some of my old
Amend code to allow multiple attachments
Hi I have a php page that allows the user to browse to a file (image) then sumbit, the confirmation page then has the following code which uploads the said file to the hosting server, but also appends
Uploading Filetypes and placing them in seperate folders.
Hello, first post , and asking for help im afraid. Very new to PHP, was making good progress I thought , but im stuck with this part. I have a uploading form that works perfectly and uploads
Best way to check for end of a record and send it back to the first record
I'm hoping someone can help me out and explain the best way to accomplish this.What I'm doing I'm pulling data from a data base. I display the information 1 item at a time then have a next and
Text Not Displaying Correctly With PHP:GD
I recently moved servers and since then I have noticed that one line of text is showing weirdly.I have attached an example image that was generated. In the word 'Managing' the letters M & N
How to read posted binary data from a mobile device and post it to a web server?
Here is the senario...I have a mobile device (MD) that posts binary data to a Web Server (WS1) and that Web Server (WS1) posts that binary data (from the MD) to another Web Server (WS2).(MD)
Doubles are giving me problems
Ok so, first of all i made a double = 0.05, but when running the debugger it shows up as 0.04999. I know this has something to do with how doubles store but its causing problems for me. Anyway, in the