我知道这已在此处讨论过。但是,我的情况有点不同,而且我很亲密。Php爆炸,然后从MySql表中获取名称行
我想爆炸一个新闻数据表中的类别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进行循环。
我知道这是一个简单的问题,我只是新的使用循环。
另外,还可以使用'IN'这样的压缩你的SQL到一个单一的语句:'$ S = “SELECT * FROM news_categories WHERE CAT_ID IN($ post_cats_data)”' – leepowers 2009-11-25 00:02:59