Matthew Pennell (ショッピング カートのチュートリアル) から入手したショッピング カートがあります。彼のショッピング カート スクリプトでは、paypal を実装したいと考えています。しかし、私は本当に解決できない問題に遭遇します。彼のコードでは foreach loop を実行しているため、私のペイパルの「item_name_」と「amount_」は可変でなければなりません。array 内にいくつの array があるかを数える必要があります。count($content) を使用して試してみましたが、配列の数が表示されますが、カート内の 1 行おきに結果が増加しています。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>