特定の記事 ($link_cat) のカテゴリを含む配列があります。次に、mysql_fetch_array を使用して、利用可能なすべてのカテゴリをチェックボックス付きのリストに出力しています。これを行っている間、それがオンになっている値を他の配列の値と比較したいと思います。一致する場合は、カテゴリの 1 つがこの記事に適用されることを意味し、checked 属性を適用するコード行を出力する必要があります。すごい!それが機能していないことを除いて =[
while ( $row = mysqli_fetch_array($results, MYSQLI_ASSOC) ){
$cat[$i] = $row['category'];
$cat_id[$i] = $row['cat_id'];
echo '<li><input type="checkbox" ';
$catCount = count($link_cat);
for ($ct = 0; $ct < $catCount; $ct++){
if ($cat_id[$i] == $link_cat[$ct]){
echo 'checked="checked" ';
}
}
echo 'name="' . $cat_id[$i] . '" />' . $cat[$i] . '</li>';
$i++;
}
私は以前にネストされたループを実際に行ったことはありません(それが問題だと思います)。
問題は、これが実行されると、チェックする最初のカテゴリを持つ $link_cat[0] が登録されないことです。空白になります。for ループ内の変数を出力すると、これが確認されました。その他の [1] [2] などは問題ありません。[0]だけです。しかし、なぜ?意味がないようです。確認のために、入力した配列の内容を印刷したので、そこに何かがあることはわかっています。しかし、それはループ中に表示されるだけではありません。何か案は?