0

XML ファイルにエクスポートしようとしている SESSION 変数がたくさんあります。foreach ループの一部ではないため、顧客の詳細は問題ありませんでした。しかし、顧客の注文は foreach ループの一部です。

SESSION 変数 $_SESSION['invoice'] は cart.php で定義されています。$_SESSION['invoice'] 配列の個々の値を取得して、XML に配置する必要があります。

例えば

<title1>comic title1</title1><qty1>10</qty1><price1>$2.50</price1><cost1>$25.00</cost1><title2>comic title2</title2><qty2>5</qty2><price2>$2.00</price2><cost2>$10.00</cost2>

cart.php コード:

$_SESSION['invoice'][$comic_id]=$name . " " . $qty . " $" . $price . " $" . $cost;

xml.php コード:

<?php
if(!isset($_SESSION)) {
     session_start();
}
foreach ($_SESSION['invoice'] as $value);

$test_array = array (
  $_SESSION['firstname'] => 'firstname',
  $_SESSION['lastname'] => 'lastname',
  $_SESSION['email'] => 'email',
  $_SESSION['addressline1'] => 'addressline1',
  $_SESSION['towncity'] => 'towncity',
  $_SESSION['postcode'] => 'postcode',
  'order' => array (
  $_SESSION['total'] => 'total',
  $_SESSION['invoice']  => 'order',
  ),
);
$xml = new SimpleXMLElement('<customer/>');
array_walk_recursive($test_array, array ($xml, 'addChild'));
print $xml->asXML();
4

2 に答える 2

0
    $_SESSION['invoice'][$comic_id]=$name . " " . $qty . " $" . $price . " $" . $cost;

このコードでは、文字列を連結します。作成された値を次のようにデバッグしてみてください。

    echo '<pre>'.print_r($_SESSION['invoice'][$comic_id], 1).'</pre>';
    echo '<pre>'.print_r($_SESSION['invoice'], 1).'</pre>';

これを次のように作成する必要があります。

    $_SESSION['invoice'][$comic_id]['firstname'] = 'Firstname';
    $_SESSION['invoice'][$comic_id]['price'] = $myPrice';
    // and so on...

しかし、1つ注意してください。このような請求書処理のセッションはお勧めしません。

于 2012-11-12T08:51:01.683 に答える
0

$order = json_encode($_SESSION['invoice']);

于 2012-11-12T09:40:20.363 に答える