在一个页面有四条sql  ,数据库为mysql5.1
$rs1 = $db->query("select id ,material_id,material_name,material_status_id,fee_pay from media_material_map where subject_id=241 order by sortrank desc limit 0,$pagenum");while($row=$db->fetch_array($rs1)){
   
   echo '<a href="view1.php?id='.$row['material_id'].'"></a>';
   
}
// 影视
 $rs2 = $db->query("select id ,material_id,material_name,cp_id,material_status_id,fee_pay from media_material_map where subject_id=250 order by sortrank desc limit 0,$pagenum");while($row=$db->fetch_array($rs2)){
   
   echo '<a href="view2.php?id='.$row['material_id'].'"></a>';
   
}// 娱乐八卦 $rs3 = $db->query("select id ,material_id,material_name,cp_id,material_status_id,fee_pay from media_material_map where subject_id=243 order by sortrank desc limit 0,5");
while($row=$db->fetch_array($rs3)){
   
   echo '<a href="view3.php?id='.$row['material_id'].'"></a>';
   
}
// 综艺节目 $rs4 = $db->query("select id ,material_id,material_name,cp_id,material_status_id,fee_pay from media_material_map where subject_id=244 order by sortrank desc limit 0,5");
while($row=$db->fetch_array($rs4)){
   
   echo '<a href="view4.php?id='.$row['material_id'].'"></a>';
   
}可以合并成一条sql吗? 并且分别循环得出各栏目下的资源?不同的栏目使用不用页面view1.php view2.php view3.php view4.php

解决方案 »

  1.   

    select id ,material_id,material_name,cp_id,material_status_id,fee_pay from media_material_map where subject_id in(241,250,243,244) order by sortrank desc limit 0,5
    or
    直接用UNION ALL
      

  2.   

    没看懂楼主的需求是什么。 如果只是合并四个SELECT为一句,则直接使用UNION ALL就行了。
      

  3.   

    while($row=$db->fetch_array($rs4)){
       
      echo '<a href="view4.php?id='.$row['material_id'].'"></a>';//循环这里  不同的栏目使用不同的模版页面,有四个栏目,能否用一条或两条sql 把查询的结果放到四个数组里,
       
    }
      

  4.   

    楼主希望一条语句查出所有的记录,然后在每个页面再在这个记录集里去筛选需要的。PHP不知道如果实现。
      

  5.   

    希望一条语句查出所有的记录,然后在 一个 页面  在这个记录集里去筛选需要的。PHP不知道如果实现。
      

  6.   

    PHP里对记录集是否有Filter ,用来过滤记录集。
      

  7.   

    个人觉得没必要去合并数据库语句UNION ALL合并结果集,然后又在php里再一次分离结果……