Drayen
-
Posts
4 -
Joined
-
Last visited
Never
Posts posted by Drayen
-
-
Hello, I've tried doing the exercise on this site:
http://www.adobe.com/devnet/dreamweaver/articles/php_cart.html
There are three files I have:
Db.php
Products.php
and
Cart.php:
<?php session_start(); include("db.php"); switch($_GET["action"]) { case "add_item": { AddItem($_GET["id"], $_GET["qty"]); ShowCart(); break; } case "update_item": { UpdateItem($_GET["id"], $_GET["qty"]); ShowCart(); break; } case "remove_item": { RemoveItem($_GET["id"]); ShowCart(); break; } default: { ShowCart(); } } function AddItem($itemId, $qty) { // Will check whether or not this item // already exists in the cart table. // If it does, the UpdateItem function // will be called instead global $dbServer, $dbUser, $dbPass, $dbName; // Get a connection to the database $cxn = @ConnectToDb($dbServer, $dbUser, $dbPass, $dbName); // Check if this item already exists in the users cart table $result = mysql_query("insert into cart(cookieId, itemId, client) values('" . GetCartId() . "', $itemId, '$client')") or die (mysql_error()); $numRows = $row[0]; if($numRows == 0) { // This item doesn't exist in the users cart, // we will add it with an insert query @mysql_query("insert into cart(cookieId, itemId, qty) values('" . GetCartId() . "', $itemId, $qty)"); } else { // This item already exists in the users cart, // we will update it instead UpdateItem($itemId, $qty); } } function UpdateItem($itemId, $qty) { // Updates the quantity of an item in the users cart. // If the qutnaity is zero, then RemoveItem will be // called instead global $dbServer, $dbUser, $dbPass, $dbName; // Get a connection to the database $cxn = @ConnectToDb($dbServer, $dbUser, $dbPass, $dbName); if($qty == 0) { // Remove the item from the users cart RemoveItem($itemId); } else { mysql_query("update cart set qty = $qty where cookieId = '" . GetCartId() . "' and itemId = $itemId"); } } function RemoveItem($itemId) { // Uses an SQL delete statement to remove an item from // the users cart global $dbServer, $dbUser, $dbPass, $dbName; // Get a connection to the database $cxn = @ConnectToDb($dbServer, $dbUser, $dbPass, $dbName); mysql_query("delete from cart where cookieId = '" . GetCartId() . "' and itemId = $itemId"); } function ShowCart() { // Gets each item from the cart table and display them in // a tabulated format, as well as a final total for the cart global $dbServer, $dbUser, $dbPass, $dbName; // Get a connection to the database $cxn = @ConnectToDb($dbServer, $dbUser, $dbPass, $dbName); $totalCost = 0; $result = mysql_query("select * from cart inner join items on cart.itemId = items.itemId where cart.cookieId = '" . GetCartId() . "' order by items.itemName asc"); ?> <html> <head> <title> Your Shopping Cart </title> <script language="JavaScript"> function UpdateQty(item) { itemId = item.name; newQty = item.options[item.selectedIndex].text; document.location.href = 'cart.php?action=update_item&id='+itemId+'&qty='+newQty; } </script> </head> <body bgcolor="#ffffff"> <h1>Your Shopping Cart</h1> <form name="frmCart" method="get"> <table width="100%" cellspacing="0" cellpadding="0" border="0"> <tr> <td width="15%" height="25" bgcolor="red"> <font face="verdana" size="1" color="white"> <b>Qty</b> </font> </td> <td width="55%" height="25" bgcolor="red"> <font face="verdana" size="1" color="white"> <b>Product</b> </font> </td> <td width="20%" height="25" bgcolor="red"> <font face="verdana" size="1" color="white"> <b>Price Each</b> </font> </td> <td width="10%" height="25" bgcolor="red"> <font face="verdana" size="1" color="white"> <b>Remove?</b> </font> </td> </tr> <?php while($row = mysql_fetch_array($result)) { // Increment the total cost of all items $totalCost += ($row["qty"] * $row["itemPrice"]); ?> <tr> <td width="15%" height="25"> <font face="verdana" size="1" color="black"> <select name="<?php echo $row["itemId"]; ?>" onChange="UpdateQty(this)"> <?php for($i = 1; $i <= 20; $i++) { echo "<option "; if($row["qty"] == $i) { echo " SELECTED "; } echo ">" . $i . "</option>"; } ?> </select> </font> </td> <td width="55%" height="25"> <font face="verdana" size="1" color="black"> <?php echo $row["itemName"]; ?> </font> </td> <td width="20%" height="25"> <font face="verdana" size="1" color="black"> $<?php echo number_format($row["itemPrice"], 2, ".", ","); ?> </font> </td> <td width="10%" height="25"> <font face="verdana" size="1" color="black"> <a href="cart.php?action=remove_item&id=<?php echo $row["itemId"]; ?>">Remove</a> </font> </td> </tr> <?php } // Display the total ?> <tr> <td width="100%" colspan="4"> <hr size="1" color="red" NOSHADE> </td> </tr> <tr> <td width="70%" colspan="2"> <font face="verdana" size="1" color="black"> <a href="products.php"><< Keep Shopping</a> </font> </td> <td width="30%" colspan="2"> <font face="verdana" size="2" color="black"> <b>Total: $<?php echo number_format($totalCost, 2, ".", ","); ?></b> </font> </td> </tr> </table> </form> </body> </html> <?php } ?>
Here's the error I get:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /***/*****/users/*/*/*****/pub/www/******/******/cart.php on line 155
so there's a problem with $result, also a part of the other error (the other error only shows when I add something to the cart)
The other error I get, which is on line 45 I believe, reads: "Unknown column 'cookieId' in 'field list'" when using the die mysql_error
And here's my database (I assumed something was wrong with cookieId but it appears fine):
http://img227.imageshack.us/img227/8051/14374366ob8.png
Any help is appreciated, or even just pointing me in the right direction.. I've spent a lot of hours trying to fix something that is supposed to be just copy paste. Thanks.
-
Thanks guys
-
Sorry if I'm wording this wrong, here's my problem:
The form:
<html>
<head>
<title>Product Update</title>
</head>
<body>
<form action="index.php" method="get">
Product: <input name="product" type="text" />
Starting Price: <input name="price" type="text" />
<br />
Description: <input name="description" type="text" />
<input type="submit">
</form>
</body>
</html>
Part of the php file:
function add()
{
$AAA = new AAA("Product", $_GET["product"], $_GET["price"], "images/unknown.jpg", $_GET["description"]);
echo '<img src="'. $AAA->GetPhoto() .'" align="left" />';
echo '<b>'. $AAA->GetName() .'</b>: '. $AAA->GetModel();
echo '<p>Starting from: '. $ipod->GetPrice() .'</p>';
echo '<p>'. $AAA->GetDescription() .'</p>';
}
Basically I don't want the fucntion add to execute unless it's being triggered by coming from the form page, so how would I go about doing this? Right now I just have the function add() above and it runs but that means it runs even when I'm not coming from the form site. Any help would be appreciated.
Shopping Cart Error
in PHP Coding Help
Posted
oh my god I looked at it like 50 times and didnt realize that.. thank you