0

我建立了一个展会预订系统,参展商输入他们的详细信息,然后选择他们希望预订的“展会”,包括“展位尺寸”和展会附带的任何“额外”。(展台尺寸和附加功能因每场演出而异)。这可以正常工作,在我的数据库中输入正确的预订详细信息(每次演出预订 1 行,每次演出)。但是,在将预订数据插入数据库之前,我需要在 Conformation 页面中添加(因为用户单击后退按钮进行更正,然后再次单击“预订”,因此在某些情况下会添加重复项)。

每次预订有 1 个表演,1 个展位,但有多个 x 附加服务可以同时进行多个预订(针对不同的表演)。

我认为我在正确的轨道上:我正在尝试将每个预订的所有数据存储到一个数组中(具体来说是一个 SESSION 数组),这样我就可以输出(在 HTML 中)即将预订的内容。然后用户单击确认(或编辑),然后将会话数据提取/插入到我的数据库中。

我正在努力解决这个问题,因为我在数组中有数组,因为我需要将数据保存在一起,而且我不知道每个节目要预订多少额外的东西。这个可以吗?

下面是代码的数组部分(以及我的测试),但它没有按我的预期工作(而且我不完全理解如何提取数据)

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>';
    }

}

我知道我在这里需要更多代码,但我正在努力弄清楚如何从数组中访问正确的数据,具体到每个节目。我认为构建数组不会有问题,因为执行此操作的代码已经在工作(在上面手动添加,仅用于测试)。

如果有人能指出我正确的方向,我将不胜感激。也完全有可能我根本没有以正确的方式处理这件事,所以请随时告诉我,我应该走的路。(或者我应该将所有数据存储为在提交“conformation”时传递的隐藏表单输入?)

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 回答