Jump to content

Archived

This topic is now archived and is closed to further replies.

mancroft

Direct add cart url link not working

Recommended Posts

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\"><< 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 >></a>

</font>

</td>

</tr>

</table>

</body>

</html>

Share this post


Link to post
Share on other sites

×

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.