0

今天是个好日子,

我想知道在 3 个不同查询之间进行选择并使用带有结果的查询的最佳方法...

    Select * from table where lugar in (1, 2, 3)

或者

    Select * from table where lugar in (4, 5, 6)

或者

    Select * from table where lugar in (7, 8, 9, 10)

我可以使用开关运算符之类的东西吗?

我需要更多的想法来做到这一点......

我不使用“if”,因为带有结果的查询必须使用大量代码......

提前致谢!

马里奥·马塔。

4

3 回答 3

0

你可以这样使用

$var_val="abc";
switch ($var_val)
{
  case "aa":
   $qry = "Select * from table where lugar in (1, 2, 3)";
   break;
 case "abc":
   $qry = "Select * from table where lugar in (4, 5, 6)";
   break;
 case "cc":
   $qry = "Select * from table where lugar in (7, 8, 9,10)";
   break;
 default:
   $qry = "Select * from table";
}
于 2013-08-08T05:30:45.890 回答
0

你可以设置一个数组变量。然后在switch中改变数组的内容,而不是SELECTstatement

switch($something) {
    case 'a':
        $in = array(1,2,3);            
        break;
    case 'b':
        $in = array(4,5,6);            
        break;
    case 'c':
        $in = array(7,8,9,10);            
        break;
    default:
        $in = array(1,2,3);
}
SELECT * FROM table WHERE lugar IN ($in)
于 2013-08-08T05:30:58.240 回答
0

我认为您真的必须为此使用 if 语句,它最适合您的问题

$query = mysql_query('Select * from table where lugar in (1, 2, 3)');
if(mysql_num_rows($query)){
//this will check if there was a result on a given query
}

只是循环来实现另一个..美好的一天

于 2013-08-08T05:36:14.557 回答