0

私は、出展者が詳細を入力し、「スタンドサイズ」やショーに付随する「エクストラ」など、予約したい「ショー」を選択するショー展示予約システムを構築しました。(スタンドサイズとエクストラは各ショーに固有です)。これは問題なく機能し、正しい予約の詳細をデータベースに入力します(ショーの予約ごとに、ショーごとに1行)。ただし、予約データをDBに挿入する前に、[適合]ページを追加する必要があります(ユーザーが[戻る]ボタンをクリックして修正し、[予約]をもう一度クリックすると、重複が追加される場合があります)。

各予約には1xショー、1 xスタンドがありますが、複数xエクストラ(異なるショー用)を同時に行うことができます。

私は正しい方向に進んでいると思います。各予約のすべてのデータを配列(具体的にはSESSION配列)に格納しようとしているので、予約しようとしているものを(HTMLで)出力できます。次に、ユーザーが[確認](または編集)をクリックすると、セッションデータが抽出されてDBに挿入されます。

データをまとめる必要があるため、アレイ内にアレイがあるため、これを回避するのに苦労しています。また、ショーごとにいくつのエクストラが予約されるのかわかりません。これでいい?

以下はコードの配列部分です(私のテストでも)が、期待どおりに機能していません(そしてデータを抽出する方法を完全に理解していません)

session_start();
session_destroy();
$_SESSION[] = array();

$_SESSION[] = array(showID=>1, standID=>s1, extras=>array(x1, x1QT=>2 ,x2, x2QT=>4 ));
$_SESSION[] = array(showID=>2, standID=>s2, extras=>array(x1,x2));

foreach ($_SESSION as $booking) {
    foreach($booking as $showID => $show){
        echo 'Show ID = ' . $show. '<br>';
    }

}

ここにもっとコードが必要なことはわかっていますが、各ショーに固有の配列から正しいデータにアクセスする方法を見つけるのに苦労しています。これを行うコードはすでに機能しているので、配列の構築に問題があるとは思いません(テストのために、上記で手動で追加しました)。

誰かが私を正しい方向に向けることができれば、私は非常に感謝するでしょう。私がこれについてまったく正しい方法で行っていない可能性も完全にありますので、私が行くべき方法でこれを自由に教えてください。(または、「コンフォメーション」の送信時に渡される非表示のフォーム入力としてすべてのデータを保存するように作業する必要がありますか?)

4

1 に答える 1

0

配列のキーと値は引用符で囲む必要があります (')

$_SESSION[] = array('showID'=>'1', 
                    'standID'=>'s1', 
                    'extras'=>array(
                                    'x1', 
                                    'x1QT'=>'2' ,
                                    'x2', 
                                    'x2QT'=>4 ));

$_SESSION[] = array('showID' => '2', 
                    'standID'=> 's2', 
                    'extras' => array('x1','x2'));
于 2013-03-02T04:02:30.370 に答える