データベースからすべての成果を取得して、すべての成果を表示するページにそれらを配置する FOR ループがあります。取得できるアチーブメントには 5 つの異なる「タイプ」があり、各タイプには独自のヘッダーがあります。現在、「一般的な」タイプの 1 種類の成果のみを取得しようとしています。実績を取得するためのコードは次のとおりです。
$achievement_info_fetch = $db->prepare("SELECT `achievement_name`,`achievement_desc`,`image`,`type` FROM `achievement_names`");
$achievement_info_fetch->execute();
foreach($achievement_info_fetch->fetchAll(PDO::FETCH_NUM) as $achievement_info => $value){
$achievement_information[$value[3]] = array('name'=>$value[0],'desc'=>$value[1],'image'=>$value[2]);
unset($value);
}
その FOR ループは、次のように、各配列に実績を 1 つだけ入れています。
array(5) { ["common"]=> array(3) { ["name"]=> string(11) "TrendSetter"
["desc"]=> string(25) "Invite 6 different people" ["image"]=>
string(23) "sm__0167_megaphone-.png" }...
「共通」のタイプには 3 つの異なる実績があり、ご覧のとおり、先ほど言ったように、取得できるのは 1 つだけであり、その理由はわかりません。おそらく、情報を配列に入れる方法と関係があります。
その後の他の問題は、情報を出力することです。このアレイを配置できれば、その方法を理解できるはずです。