把所有选择结果放数组中,然后拼凑成SQL语句查询,不知你说的是不是这意思

解决方案 »

  1.   

    SELECT。 FROM
     你自己构造啊
      

  2.   

    select  .... where field in (...);
      

  3.   

    我想说的不是查询语句的问题,而是如何根据所选选项来显示选的那几项的数据。比如选了1 2 3 项,我就把1 2 3 项的在数据表中的数据在报表图上用线条显示出来,其他选项的数据就不显示出来,
    选了5 9 10 30 项,我就把5 9 10 30 项在数据表中的数据在报表图上用线条显示出来,其它的不显示。我不知道怎样来控制报表图上显示的线条,如果只有3项,那我可以把所有情况列出来。比如
    if($selectvalue=="1"){ $data_a= 12,25,12,12; }
    if($selectvalue=="1,2"){ $data_a= 12,25,12,12; $data_b=23,34,43,4; }
    if($selectvalue=="1,3"){ $data_a= 12,25,12,12; $data_c=23,34,43,4; }
    if($selectvalue=="1,2,3"){ $data_a= 12,25,12,12;$data_b=23,34,43,4;$data_c=23,34,43,4; }
    if($selectvalue=="2"){ $data_b= 12,25,12,12; }
    if($selectvalue=="2,3"){ $data_b= 12,25,12,12; $data_c=23,34,43,4; }
    if($selectvalue=="3"){ $data_c= 12,25,12,12; }
    总共7种情况,但是现在有几十个选项,我不可能把那么多种情况都一一列出来,请问有没有好的办法啊?
      

  4.   

    首先不太清楚,你的$data_a, $data_b什么的是不是动态的,如果是静态的就把他们做成一个数组,例如名字$A_data.你把$selectvalue用split分隔“,”然后把得到的数组中的值分别得到$data,举个例子,你的$selectvalue=2,3.你用$array = split(',',$selectvalue);得到$array里面的值,然后循环$array,读出数组中的每个值,然后去$A_data中找到你的值,把他们组合输出就行了。如果是动态的,就根据从$array中读出来的值,去数据库取然后组合就行了。