我有一个购物车,我从马修彭内尔(购物车教程),在他的购物车脚本我想实现贝宝。但是我遇到了一个我无法真正解决的问题。由于在他的代码中他正在做一个foreach循环,因此我的paypal“item_name_”和“amount_”必须是可变的。我需要计算一个数组中有多少个数组。我尝试使用count($ content),但它给了我数组的数量,但结果是增加了我的购物车中的每一行。 即计数帮助,来计算数组中的数字
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>
雅,我通过回应美元内容/ $计数(内容)。在这个函数中,变量$ content似乎只是我购物车上出现的行数的唯一关键。然而,我不知道如何通过只显示一次来解决它。想知道如果我可以做IF($ content ==?){variable $ i = 1;并让它$ i ++}? – 3cross