Jump to content


Photo

Direct add cart url link not working


  • Please log in to reply
No replies to this topic

#1 mancroft

mancroft
  • Members
  • PipPip
  • Member
  • 10 posts

Posted 30 June 2003 - 09:43 AM

Direct add cart url link not working
I am doing a simple shopping cart which works (code below)BUT...

when i click on the add item to cart link it works and produces a url:

blah/cart.php?action=add_item&id=4&qty=1

Now, what I would like to do is link the url to a button in flash so that people can click directly and add a specific item. I know how to do that but when i try to change the
add_item&id=1 to add_item&id=2 or whatever, the thing does not work properly.

Any ideas please?

The cart file:
<?php

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(\"select count(*) from cart where cookieId = \'\" . GetCartId() . \"\' and itemId = $itemId\");
$row = mysql_fetch_row($result);
$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\">&lt;&lt; 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
}

?>



The products list file:

<?php

// This page will list all of the items
// from the items table. Each item will have
// a link to add it to the cart

include(\"db.php\");

// Get a connection to the database
$cxn = @ConnectToDb($dbServer, $dbUser, $dbPass, $dbName);
$result = mysql_query(\"select * from items order by itemName asc\");

?>
<html>
<head>
<title> Product List </title>
</head>
<body bgcolor=\"#ffffff\">
<h1>Products</h1>
<table width=\"100%\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\">
<tr>
<td width=\"30%\" height=\"25\" bgcolor=\"red\">
<font face=\"verdana\" size=\"1\" color=\"white\">
<b>Product</b>
</font>
</td>
<td width=\"10%\" height=\"25\" bgcolor=\"red\">
<font face=\"verdana\" size=\"1\" color=\"white\">
<b>Price</b>
</font>
</td>
<td width=\"50%\" height=\"25\" bgcolor=\"red\">
<font face=\"verdana\" size=\"1\" color=\"white\">
<b>Description</b>
</font>
</td>
<td width=\"10%\" height=\"25\" bgcolor=\"red\">
<font face=\"verdana\" size=\"1\" color=\"white\">
<b>Add</b>
</font>
</td>
</tr>
<?php
while($row = mysql_fetch_array($result))
{
?>
<tr>
<td width=\"30%\" height=\"25\">
<font face=\"verdana\" size=\"1\" color=\"black\">
<?php echo $row[\"itemName\"]; ?>
</font>
</td>
<td width=\"10%\" height=\"25\">
<font face=\"verdana\" size=\"1\" color=\"black\">
$<?php echo $row[\"itemPrice\"]; ?>
</font>
</td>
<td width=\"50%\" height=\"25\">
<font face=\"verdana\" size=\"1\" color=\"black\">
<?php echo $row[\"itemDesc\"]; ?>
</font>
</td>
<td width=\"10%\" height=\"25\">
<font face=\"verdana\" size=\"1\" color=\"black\">
<a href=\"cart.php?action=add_item&id=<?php echo $row[\"itemId\"]; ?>&qty=1\">Add Item</a>
</font>
</td>
</tr>
<tr>
<td width=\"100%\" colspan=\"4\">
<hr size=\"1\" color=\"red\" NOSHADE>
</td>
</tr>
<?php
}
?>
<tr>
<td width=\"100%\" colspan=\"4\">
<font face=\"verdana\" size=\"1\" color=\"black\">
<a href=\"cart.php\">Your Shopping Cart &gt;&gt;</a>
</font>
</td>
</tr>
</table>
</body>
</html>




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users