2

2つのMySQLデータベースから1つの動的ページにデータをプルするフォームを使用しています。ユーザーが[カートに追加]をクリックしたときに、そのデータを多次元セッション配列に保存して、後で[カートを表示]をクリックしたときに呼び出すようにします。カートに追加フォームから新しいアイテムが追加されたときに、アイテムのサブセット識別子(配列キー?)を自動インクリメントする方法を知りたいです。これは私がこれまでに持っているものです:

$newitem = array ($row_getimages['icon'],$row_getimages['title'],$row_getshoppingcart['medium'],$row_getshoppingcart['size'],$row_getshoppingcart['price'],$row_getshoppingcart['shipping']);


session_start();

if(isset($_SESSION['item'][1]))
$_SESSION['item'][1] = $_SESSION['item'][1]+ 1;
else
$_SESSION['item'][1] = 1;

また、後でデータを呼び出すための助けをいただければ幸いです。ユーザーがセッションに1つまたは20のアイテムを保存している可能性があるため、追加したアイテムの数に関係なく、すべてのアイテムがエコーされるようにする方法がわかりません。

多次元配列とセッションは初めてです。明らかに、画像ページは動的であり、購入価格はいくつかの要因に基づいているため、過去に持っていたように利用可能なアイテムのMySQLデータベースを使用することは問題外です。

よろしくお願いします。

4

2 に答える 2

0

番号が連続していることが重要でない場合は、次を使用できます。

$_SESSION['item'][] = array('a','b','c','d','e','f');

を使用[]すると、配列の最後に新しい要素が追加されます。

ただし、キーにはおそらく製品IDを使用します。

于 2012-12-03T17:01:39.263 に答える
0
$newitem = array ('id' => $row_getshoppingcart['id'] , 'icon' => $row_getimages['icon'],'title' => $row_getimages['title'],'medium' => $row_getshoppingcart['medium'],'size' => $row_getshoppingcart['size'],'price' => $row_getshoppingcart['price'],'shipping' => $row_getshoppingcart['shipping']);


session_start();

$_SESSION['item'][] = $newitem;

私があなたのシステムを正しく理解していれば、それがあなたがしなければならないすべてです。

アップデート

$newitem配列キーを含めるように配列を更新しました。次のような配列を使用して、新しいアイテム情報を参照できます。

$ _SESSION ['item'] [(num)] ['id']

または、次のように結果をループすることができます。

foreach ( $_SESSION['item'] AS $item ) 
{  
 echo 'id: ' . $item['id'] . '<br />'; 
 echo 'title: ' . $item['title'];  
 // and so on 
}
于 2012-12-03T17:05:30.147 に答える