0

という名前の連想配列があり$_SESSION[BASE_SESSION_NAME]['my_cart']ます。ご参考までに、以下のように配列を出力しています。

Array
(
    [6f993b72511c37f4ab4d7273066b8160] => Array
        (
            [pack_id] => 6f993b72511c37f4ab4d7273066b8160
            [pack_type] => test
            [pack_type_id] => 4
            [pack_name] => NEET XII Biology
            [pack_price] => 459.00
            [pack_validity] => Array
                (
                    [years] => 1
                    [months] => 0
                    [days] => 0
                )

        )

    [cart_summary] => Array
        (
            [total_no_packages] => 3
            [total_pack_price] => 1557
            [final_total_pack_price] => 1557
            [total_pack_discount] => 0
            [apply_deal_code] => 0
            [no_of_discounted_packages] => 0
        )

    [67f76ffae26ffdcde7a392c5534c972a] => Array
        (
            [pack_id] => 67f76ffae26ffdcde7a392c5534c972a
            [pack_type] => test
            [pack_type_id] => 4
            [pack_name] => NEET XII Chemistry
            [pack_price] => 599.00
            [pack_validity] => Array
                (
                    [years] => 1
                    [months] => 0
                    [days] => 0
                )

        )

    [31dc7c5d9b9cb5a2ba968e74efd4a475] => Array
        (
            [pack_id] => 31dc7c5d9b9cb5a2ba968e74efd4a475
            [pack_type] => test
            [pack_type_id] => 4
            [pack_name] => NEET XII Physics
            [pack_price] => 499.00
            [pack_validity] => Array
                (
                    [years] => 1
                    [months] => 0
                    [days] => 0
                )

        )

)

ここで、 pack_id 値または値 ok key を持つキーのみにアクセスしたいと考えていますpack_id。たとえば、値 [31dc7c5d9b9cb5a2ba968e74efd4a475] または key pack_id asの値[pack_id] => 31dc7c5d9b9cb5a2ba968e74efd4a475。しかし、問題は、キー[cart_summary]を持つ配列がもう 1 つ存在し、その配列から何かを使用したくないことです。そのような pack_id ごとにクエリを実行する必要があります。だから私はループの助けを借りてクエリを起動したい. 誰でもこの問題を解決するのを手伝ってもらえますか? 前もって感謝します。使用したいクエリは次のとおりです。

SELECT package_type.package_type_name
FROM package_type
JOIN test_packages ON package_type.package_type_id = test_packages.test_pack_type_id
WHERE test_packages.test_pack_id = '$propsed_pack_id'
4

4 に答える 4

5

これは、コメントで要求した連想配列の foreach です。

$mycart = $_SESSION[BASE_SESSION_NAME]['my_cart'];// where $mycart is the array structure
                                                  //as shown above in the question
foreach($mycart as $key=>$value)
{
     //where $key holds the pack_id i.e. the array key value
     $propsed_pack_id = $value['pack_id'];
     if($key != "cart_summary")
     {
         //execute you sql query
         $query = "SELECT package_type.package_type_name
         FROM package_type
         JOIN test_packages ON package_type.package_type_id =    
         test_packages.test_pack_type_id
         WHERE test_packages.test_pack_id = '$propsed_pack_id'";
         ......

     }
 }

これが何かの助けになることを願っています。

于 2013-07-10T10:48:37.183 に答える
1

unset($arr["item"])$arrという配列から「item」というキーを持つアイテムを削除します。

于 2013-07-10T10:32:46.077 に答える
1

1 つの方法は、saran Banerjee が語ったように、「cart-summary」に直接チェックを入れることです。

しかし、「cart-summary」のハードコーディングされたチェックを配置する代わりに、配列内の「pack_id」キーをチェックすることをお勧めします。そこにある場合は、その pack_id に対してクエリを実行し、そうでない場合は実行しません。

$mycart = $_SESSION[BASE_SESSION_NAME]['my_cart']; 

foreach($mycart as $key=>$value)
{
     //where $key holds the pack_id 
     $propsed_pack_id = isset($value['pack_id']) ? $value['pack_id'] : '';
     if($propsed_pack_id != "")
     {
         //execute you sql query
         $query = "SELECT package_type.package_type_name
         FROM package_type
         JOIN test_packages ON package_type.package_type_id =    
         test_packages.test_pack_type_id
         WHERE test_packages.test_pack_id = '$propsed_pack_id'";

     }
 }
于 2013-07-10T10:56:32.867 に答える
0

あなたが何を望んでいるかをよく理解している場合は、ループを使用して正しいキーを探す必要があります。

バックエンド言語が PHP の場合。

foreach($_SESSION[BASE_SESSION_NAME]['my_cart'] as $cart) {
    if (isset($cart['pack_id'])) {
        // Here you get the pack id, only if exist as a key inside the array
    }
}

この助けを願って...

于 2013-07-10T10:55:29.983 に答える