как отобразить все товары в корзине PayPal - PullRequest
1 голос
/ 05 января 2012

Я только изучаю возможности php и создаю сайт электронной коммерции для универ-проекта, у меня есть все, что я создал, и настроил оплату через PayPal, что я сделал в нескольких уроках.

Когда я перехожу на PayPal, я хочу отобразить; наименование товара, цена и количество для каждого товара в корзине, в сводке заказа.

В своем текущем состоянии http://pastie.org/3127790, код отображает только верхний элемент в корзине в сводке заказов на PayPal, я думаю, что мне нужно реализовать цикл foreach, чтобы код отображал эхо всех строк корзину, но не уверен, что именно зациклить и как.

Любая помощь будет принята с благодарностью!

Заранее спасибо, Майкл

Фрагмент кода

      <?php

        $sql = "SELECT * FROM podcasts WHERE id_podcasts IN (";
          foreach ($_SESSION['cart'] as $id => $value){
            $sql .= $id . ",";  
          }
          $sql = substr($sql,0,-1).") ORDER BY name ASC";
          $query = mysql_query($sql);
          $total_price = 0;
          if(!empty($query)){
          while($row = mysql_fetch_array($query)){
            $subtotal = $_SESSION['cart'][$row['id_podcasts']]['quantity']*$row['price'];
            $total_price += $subtotal;
            ?>

            <?php
            $ppname = $row['name'];
            $_SESSION['cart'][$row['id_podcasts']]['name'] = $row['name'];
            $ppquantity = $_SESSION['cart'][$row['id_podcasts']]['quantity'];
            $ppprice= $row['price'];
            ?>
              <tr>
                <td><?php echo $row['name'];?></td>
                <td><?php echo $_SESSION['cart'][$row['id_podcasts']]['quantity'];?></td>
                <td><?php echo "&pound;" . $row['price'];?></td>
                <td><?php echo"&pound;" .  $_SESSION['cart'][$row['id_podcasts']]['quantity']*$row['price'];?></td>
              </tr>
            <?php
          } }
          ?>


  <tr>
    <td></td>
    <td></td>
    <td><span>Total Price:</td></span>
    <td><span><?php echo"&pound;" .  $total_price;?></td></span>
  </tr>
</table>
</div>
<form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_xclick">
<input type="hidden" name="business" value="payme_1321908135_biz@immbudden.com"> <!-- change to your paypal address -->
<input type="hidden" name="quantity" value="<?php echo $ppquantity;?>"> <!-- do not change, since you refer to it all via the database -->
<input type="hidden" name="item_name" value="<?php echo $ppname;?>">
<input type="hidden" name="amount" value="<?php echo $ppprice;?>"> <!-- change here -->
<input type="hidden" name="shipping" value="0.00">
<input type="hidden" name="currency_code" value="GBP">
<input type="hidden" name="custom" value="<?php echo $_SESSION['emailaddress'];?>"> <!-- if you store their purchase in a database, reference the database number here -->
<input type="hidden" name="return" value="http://shop.residencyradio.com/success.php">
<span class="input_btn"><input type="submit" name="purchase" value="Purchase" ></span>
</form>

Ответы [ 2 ]

0 голосов
/ 26 июня 2018

Дело в том, как отдельно создать корзину просмотра для каждого пользователя, чтобы ссылка PayPal создавала глобальную корзину для всех пользователей на моем сайте

0 голосов
/ 05 января 2012

Я только отвечаю на ваш вопрос.Я не уверен в эффективности всего вашего кода.
Я внес некоторые изменения в некоторые вставленные вами коды:

<?php
$output_paypal = ''; // container for output for paypal form
$total_items = 0;

if ( ! empty($query))
{
    while ($row = mysql_fetch_array($query))
    {
        $subtotal = $_SESSION['cart'][$row['id_podcasts']]['quantity'] * $row['price'];
        $total_price += $subtotal;

        $ppname = htmlspecialchars($row['name']);
        $_SESSION['cart'][$row['id_podcasts']]['name'] = $row['name']; // this assigment seems not useful
        $ppquantity = $_SESSION['cart'][$row['id_podcasts']]['quantity'];
        $ppprice = $row['price'];

        $total_items ++;

        $output_paypal .= <<<EOM
<input type="hidden" name="item_name_{$total_items}" value="$ppname">
<input type="hidden" name="quantity_{$total_items}" value="$ppquantity">
<input type="hidden" name="amount_{$total_items}" value="$ppprice">
EOM; // heredoc syntax (may not be any spaces or tabs before or after the semicolon.)
        ?>
        <tr>
            <td><?php echo $ppname; ?></td>
            <td><?php echo $ppquantity; ?></td>
            <td><?php echo "&pound;" . $ppprice; ?></td>
            <td><?php echo"&pound;" . $ppquantity * $ppprice; ?></td>
        </tr>
        <?php
    }
}
?>


<form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post">
    <input type="hidden" name="cmd" value="_xclick">
    <input type="hidden" name="business" value="payme_1321908135_biz@immbudden.com">

    <?php echo $output_paypal; ?>

    <input type="hidden" name="shipping" value="0.00">
    <input type="hidden" name="currency_code" value="GBP">
    <input type="hidden" name="custom" value="<?php echo $_SESSION['emailaddress']; ?>">
    <input type="hidden" name="return" value="http://shop.residencyradio.com/success.php">
    <span class="input_btn"><input type="submit" name="purchase" value="Purchase" ></span>
</form>
...