2

課題のために Web ベースのチェックアウトを行う必要があり、問題に遭遇しました。データベースをインポートし、横にチェック ボックスが追加されたテーブルにデータを設定しました。セッションを使用して、参照番号 (配列に最初に格納されている) を別のページに移動する必要があります。var_dump を使用すると、テーブルから選択したものから何も取得できないようです。コード:

ボタンコード

<p><tr>
<input type="submit" name="Select" id="Select" value="Add Selected To Cart"/>  
</tr></p>

アクセスデータベースコード(安全のために値を変更)

<?php
Accesses database
$con=pg_connect("host=hostname port=portnumbers
    dbname=name user=user password=password");
    if (!$con)
    {
        die('Could not connect to database');
    }
?>

データベース表示

//Creates table
echo "<table border='1'>\n<thead>\n<tr>\n";
echo "<th>Title</th>
<th>Platform</th>
<th>Description</th>
<th>Price</th>
<th>Buy</th>\n";

while($row = pg_fetch_array($res)){
echo"<tr>";
echo "<td>" . $row['1'] . "</td>";
echo "<td>" . $row['2'] . "</td>";
echo "<td>" . $row['3'] . "</td>";
echo "<td>" . $row['4'] . "</td>";
echo '<td><input type="checkbox" name="selected[]" value="' . $row['0'] .  '" /></td>';      
  echo"</tr>";    
  }

echo"</table>";
?>
4

1 に答える 1

1

さて、あなたはショッピングカーを改善しようとしているので、次のようにできると思います:

//Use the `$_SESSION` var to hold the values
foreach ($_POST['selected'] as $item)
    $_SESSION['cart'][$item] = $item; 

送信が実行されるたびにアイテムの ID がインデックス化されるため、次のようになります。

  • アイテムが存在する場合、交換されます
  • アイテムが存在しない場合は、追加されます

アイテムを削除するには、「カートを見る」ページを使用してから、アイテムを表示する必要があります。

foreach ($_SESSION['cart'] as $item)
    echo '<a href="delete-item?id=' . $item . '">' . $item . '</a>'; 
于 2012-11-29T20:06:23.857 に答える