我有一个从 Matthew Pennell(购物车教程)那里得到的购物车,在他的购物车脚本中我想实现 paypal。但是我遇到了一个我无法真正解决的问题。由于在他的代码中他正在执行 foreach 循环,因此我的贝宝“item_name_”和“amount_”必须是可变的。我需要计算一个数组中有多少个数组。我使用 count($content) 进行了尝试,它确实给了我数组的数量,但是,我的购物车中的每一行的结果都在增加。IE
1 object return 1
2 object return 2 , 2
3 object return 3, 3 ,3
我想知道我是否错过了其他功能,或者即使实际返回数据是 3,3,3 ,是否有办法只获得 1 个结果。
最后对于 paypal_quantity 是否有添加到购物车的变量?
<?php
$i = 1;
function checkout() {
global $db;
$cart = $_SESSION['cart'];
if ($cart) {
$items = explode(',', $cart);
$contents = array();
foreach ($items as $item) {
$contents[$item] = (isset($contents[$item])) ? $contents[$item] + 1 : 1;
}
?>
<form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_cart"></input>
<input type="hidden" name="upload" value="1"></input>
<input type="hidden" name="business" value="my_email.com"></input>
<?php
foreach ($contents as $id => $qty) {
echo $contents;
$sql = 'SELECT * FROM books WHERE id = ' . $id;
$result = $db->query($sql);
$row = $result->fetch();
extract($row);
?>
<input type="hidden" name="item_name_<?php echo count($contents); ?>" value="<?php echo $title; ?>"></input>
<input type="hidden" name="amount_<?php echo count($contents); ?>" value="<?php echo $price; ?>"></input>
<input type="hidden" name="quantity" value="<?php echo $qty; ?>"></input>
<?php
}
?>
<input type="submit" value="PayPal"></input>
</form>