下面代码,默认是显示 favorites 下的所有信息,怎样只显示 ev = 1 的数据?
$ids = "";
$query = DB::query("select max(id) as id from ".DB::table('favorites')." GROUP BY svip");
while($row=DB::fetch($query))
{
  $ids .= $row["id"].",";
}
if(!empty($ids))   
{
  $ids = substr($ids,0,strlen($ids)-1); 
  $favorites_query = DB::query("SELECT * FROM ".DB::table('favorites')." WHERE ID IN (".$ids.") ORDER BY svupdatetime DESC LIMIT $start_limit, $perpage");
}
另外,下面这段话能更好的优化代码?如何改进?其实不用那样处理的
$query = DB::query("select max(id) as id from ".DB::table('favorites')." GROUP BY svip");
$row=DB::fetch($query)
得到的是数组
然后 用 implode(",",$row) 连接

解决方案 »

  1.   

    $row  你打印一下这个值。如果是一维数组的话就不用while循环了。直接implode(",",$row)连接就行了。
      

  2.   

    $query = DB::query("select max(id) as id from ".DB::table('favorites')." GROUP BY svip");
    $row=DB::fetch($query);
    print_r($row);    贴出结果来。
      

  3.   


    是将原有代码全部替换吗? 输出结果:Array ( [id] => 7 ) 
      

  4.   

    select max(id) as id,ev from ".DB::table('favorites')." GROUP BY svip having ev=1;你试试。
      

  5.   

    It`s worked?
    So, give fraction!