0

我在订购时遇到问题。如果我将请求设置为 s=10 或 s11 ir 什么都不做...我尝试根据请求打印 $order,它有效,但它没有出现在 $sql= ($order)

 if(isset($_GET['s']) AND $_GET['s']==10)
                    {
                        $order=' ORDER BY a.saskanojuma_nr ASC';
                    }
 elseif(isset($_GET['s']) AND $_GET['s']==11)
                    {
                        $order=' ORDER BY a.saskanojuma_nr DESC';
                    }
                    else
                    {
                        $order=' ORDER by a.id desc';
                    }



                    $sql='SELECT a.projekta_id, a.saskanojuma_nr,  a.datums, a.akcepta_nr, a.objekta_autors FROM '.$table_prefix.'_saskanojumi a LEFT JOIN '.$table_prefix.'_projekti b ON b.id=a.projekta_id LEFT JOIN '.$table_prefix.'_objekti c ON c.id=b.objekta_id LEFT JOIN '.$table_prefix.'_kadastri d ON d.objekta_id=c.id LEFT JOIN '.$table_prefix.'_ipasnieki e ON e.objekta_id=c.id  '.$query.' AND  a.buvvaldes_id='.$_SESSION['buvvaldes_id'].' AND a.dzests=0 GROUP BY a.id '.$order.' ';
        $thiss=$GLOBALS['db']->query($sql);
4

2 回答 2

1

您在此处显示的代码似乎是正确的。也许问题出在其他地方。

一步一步 地为你的代码做标记,并尝试找出问题所在。

于 2012-04-18T09:00:23.360 回答
0

尝试使用 PHPswitch/case语法:

switch ($_GET['s']) {
  case 10:
  $order=' ORDER BY a.saskanojuma_nr ASC';
  break;

  case 11:
  $order=' ORDER BY a.saskanojuma_nr DESC';
  break;

  default:
  $order=' ORDER by a.id desc';
  break;
}

如果$_GET['s']不是 10 或 11,则$order变量的值将从 ' default' 语句中获取,即ORDER by a.id desc

于 2012-04-18T08:57:50.183 回答