これは以前ここで話されたことを知っています。しかし、私の状況は少し異なり、とても近いです。
ニュース データ テーブルからカテゴリ ID の配列を展開し、カテゴリ テーブルからカテゴリ名を取得したいと考えています。
現在、次を使用して、id を取得し、ニュース データの while ループ内で問題なく展開できます。
$post_cats_data = $news_data['cat_id']; // 1,6,7,11
$post_cats_id = explode(",", $post_cats_data);
今、私が行き詰まっているのは、ニュース カテゴリを取得して名前をエコーすることです。
$cat_count = count($post_cats_id);
$i = 0;
foreach($post_cats_id as $cat_id){
$cat_qry = mysql_query("SELECT * FROM news_categories WHERE `cat_id` = '$cat_id'") or die(mysql_error());
$cat_title_row = mysql_fetch_row($cat_qry) or die(mysql_error());
$i++;
$write_cat .= $cat_title_row['cat_name'] ;
if($i<$cat_count){
$write_cat .= ', ';
}
}
これは、展開されたカテゴリ テーブルからカテゴリ名を取得し、最後のものを除く全員の末尾にカンマを追加するという考え方です。カテゴリ名を取得できず、ID を返すと、すべてのニュースの ID をループします。
これは単純な問題であることはわかっていますが、ループを使用するのは初めてです。