Jump to content

Direct add cart url link not working


mancroft

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>

Link to comment
https://forums.phpfreaks.com/topic/657-direct-add-cart-url-link-not-working/
Share on other sites

Archived

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

×
×
  • Create New...

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.