0

問題:

2 つの配列があり、1 つがカテゴリを生成し、2 つ目がカテゴリのアイテムを生成します。アイテムを各カテゴリに入れたいのですが、うまくいきません。

PHP コード:

foreach ($current['Children'] as $key => $value)
{
    $query = "SELECT * FROM betyg_items WHERE CID = '{$key}' AND Status = '1' ORDER BY CID ASC";
    $result = mysql_query($query) or die ('Database Error (' . mysql_errno() . ') ' . mysql_error());

    $_SESSION['keys'][$key] = $value;

    while ($row = mysql_fetch_assoc($result))
    {
        $_SESSION['items'][$row['IID']] = array(
                                        'ID' => $row['IID'],
                                        'CID' => $row['CID'],
                                        'Description' => $row['Description']
                                    );
    }
}

$_SESSION['keys'] には以下が含まれます:

Array
(
    [2] => Integration av källorna
    [3] => Belysning av egna resultat
    [4] => Referenser
)

$_SESSION['items'] には以下が含まれます:

Array
(
    [1] => Array
        (
            [ID] => 1
            [CID] => 2
            [Description] => Källorna refereras separat
        )

    [2] => Array
        (
            [ID] => 2
            [CID] => 2
            [Description] => Vissa försök till sammanbindning
        )

    [3] => Array
        (
            [ID] => 6
            [CID] => 3
            [Description] => Inga jämförelser mellan egna och andras resultat
        )

    [4] => Array
        (
            [ID] => 7
            [CID] => 3
            [Description] => Kort redovisning av likheter och skillnader mellan egna och andras resultat
        )

    [5] => Array
        (
            [ID] => 11
            [CID] => 4
            [Description] => Många formella felaktigheter i referens- och litteraturförteckning; ej primärkällor
        )

    [6] => Array
        (
            [ID] => 12
            [CID] => 4
            [Description] => Vissa formella fel, vissa källor av mindre kvalitet
        )
)

質問:

CID 値を使用して、対応する配列インデックスに各項目を取得するにはどうすればよいですか?

シナリオ:

たとえば、番号 2 を含むすべての CID は、「[2] => Integration av källorna」などに入る必要があります。

望ましい出力:

Array
(
    [2] => Integration av källorna

            [1] => Array
                (
                    [ID] => 1
                    [CID] => 2
                    [Description] => Källorna refereras separat
                )

            [2] => Array
                (
                    [ID] => 2
                    [CID] => 2
                    [Description] => Vissa försök till sammanbindning
                )

    [3] => Belysning av egna resultat

            [3] => Array
                (
                    [ID] => 6
                    [CID] => 3
                    [Description] => Inga jämförelser mellan egna och andras resultat
                )

            [4] => Array
                (
                    [ID] => 7
                    [CID] => 3
                    [Description] => Kort redovisning av likheter och skillnader mellan egna och andras resultat
                )

    [4] => Referenser

            [5] => Array
                (
                    [ID] => 11
                    [CID] => 4
                    [Description] => Många formella felaktigheter i referens- och litteraturförteckning; ej primärkällor
                )

            [6] => Array
                (
                    [ID] => 12
                    [CID] => 4
                    [Description] => Vissa formella fel, vissa källor av mindre kvalitet
                )
)
4

1 に答える 1

1
$final_arr = array();
$i = 0;

foreach ($current['Children'] as $key => $value)
{
    $query = "SELECT * FROM betyg_items WHERE CID = '{$key}' AND Status = '1' ORDER BY CID ASC";
    $result = mysql_query($query) or die ('Database Error (' . mysql_errno() . ') ' . mysql_error());

    $final_arr[$i]['key'] = $value;

    while ($row = mysql_fetch_assoc($result))
    {
         $final_arr[$i]['items'][] = array(
                            'ID' => $row['IID'],
                            'CID' => $row['CID'],
                            'Description' => $row['Description']
                          );
    }
   $i++;
}

最終出力は次のようになります: $final_arr

Array
(
    [0] => 
            ['key']=> Integration av källorna
            ['items'] => 
                 [0] => Array
                 (
                    [ID] => 1
                    [CID] => 2
                    [Description] => Källorna refereras separat
                 )

                 [1] => Array
                 (
                    [ID] => 2
                    [CID] => 2
                    [Description] => Vissa försök till sammanbindning
                  )
于 2012-06-08T18:36:56.570 に答える