MYSQL查询按照数组寻找,求如何实现
 +----------+------------+
  | id     | subject  |
  +----------+------------+
  | 1       | 语文       |
  | 2      | 数学       |
  |  3     | 英语       |
  | 4      | 政治       |
  | 5       | 物理       |
如果我要选出在表的subject列一个数组中$kk=array("英语","政治","语文");
的所以直,并按照数组顺序返回应该怎么写SQL语言啊
就是我现在要返回
表中
"英语","政治","语文"
顺序的ID
返回 3     4      1我怕我说得不清楚,我在说一次吧,我语文不怎么好(以下程序的表结构是此贴上面那个表)
$kk=array("英语","政治","语文");
$sql="SELECT * FROM TABLE WHERE subject='$kk[0]' or subject='$kk[1]' or subject='$kk[2]' ";
$a=mysql_query($sql);
$array=array();
while($kk=mysql_fetch_array($a))
{
$array[]=$kk[1];
}结果返回的是 $array[0]=语文,$array[1]=英语,$array[3]=政治
按照表的顺序查找的,
但我想按照数组的顺序查找后按顺序放入数组
就是使
$array[0]=英语
$array[1]=政治
$array[2]=语文

解决方案 »

  1.   

    http://topic.csdn.net/u/20080324/18/2b8e7dd8-d8c5-4016-948b-e07db50d4227.html
    看看这个
      

  2.   

    $sql="SELECT * FROM TABLE WHERE subject in ('语文','英语','政治') order by instr(',语文,英语,政治,', subject"; 
    == 思想重于技巧 ==
      

  3.   

    $sql="SELECT * FROM TABLE WHERE subject in ($s1) order by instr('$s1', subject)"; 
    == 思想重于技巧 ==
      

  4.   

    $s1="";
    foreach ($kk as $value) {
        $s1 = $s1."'".$value."'," ;
    }
    $s1 = $s1."'NOVALUE'" ;$sql="SELECT * FROM TABLE WHERE subject in ($s1) order by instr('$s1', subject)"; 
    == 思想重于技巧 ==
      

  5.   

    由于您从未结过贴,所以特此介绍一下结贴的方法如果您问题已经得解决,请您及时结帖给分,以感谢帮助您的朋友。 结帖方法:点击版面右上方或右下方 [管理] ,进入页面后就可以输入密码,分别给分,结帖。 
     或参考:
    http://www.csdn.net/help/over.asp
    http://topic.csdn.net/u/20080110/19/7cb462f1-cac6-4c28-848e-0a879f4fd642.html
    =============================================================================
    问题解决,请及时结贴。  
     正确结贴方法:    
     管理帖子-->给分-->输入密码-->结贴
    == 思想重于技巧 ==
      

  6.   

    你直接在PHP里面操作就可以了。用的着数据库吗