0

SQLテーブルをそのテーブルのサブヘッダーで並べ替えようとしています。私が取得しようとしている出力は次のとおりです。

ItemHeader1
-item1
-item2
-item3
ItemHeader2
-item4
-item5
ect.

しかし、私が得ているのは次のとおりです。

ItemHeader1
-item1
-item1
-item1
ect.

これが私のPHPコードです:

$index_content_enquirers = mysql_query("SELECT * FROM index_content_enquirers WHERE lang_attribute = '$lang_identify' ORDER BY item_sectionname_english ASC, item_english_title ASC") or die(mysql_error());
$get_index_content_enquirers = mysql_fetch_assoc($index_content_enquirers);
$contentinfo = array();

foreach($get_index_content_enquirers as $row) {
    $contentinfo[$get_index_content_enquirers['item_sectionname_english']][] = $get_index_content_enquirers['item_english_title'];
}

foreach($contentinfo as $contenttitle => $item_titles) {
    echo $contenttitle;
    foreach($item_titles as $item_title) {
        echo "<br />". $item_title;
    }
}

前もって感謝します!

4

1 に答える 1

0

まず第一に、mysql 関数は非推奨であるため使用しないでください。mysqli または PDO を使用します。

このループでは:

foreach($get_index_content_enquirers as $row) {
    $contentinfo[$get_index_content_enquirers['item_sectionname_english']][] = 
         $get_index_content_enquirers['item_english_title'];
}

$rowの代わりに使用する必要があり$get_index_content_enquirersます。これでうまくいきます:)

foreach($get_index_content_enquirers as $row) {
    $contentinfo[$row['item_sectionname_english']][] = 
         $row['item_english_title'];
}
于 2013-02-13T16:09:15.950 に答える