Page 1 of 1

If Else Statement

Posted: Tue Feb 26, 2008 11:42 pm
by tamtam
Hi all,

I m having a bit of trouble displaying my report. It appears as if it only uses 2 sql statement (i.e. the one stated in blue), while the rest are ignored. I hope someone can point me to my mistake.

Below is the if else statement i use:-

Code: Select all

[color=#0040FF]if ( $request->getRequestMethod() == REQUEST_POST )
       {      
      if($request->getParam("table_m")==1)
         {
         $table_select="table_A";
         }
      else
         {
         $table_select="table_B";
         }
      if ($request->getParam("brand") != NULL && $request->getParam("groups") != NULL && $request->getParam("engine_no") != NULL)
         {
         $sql = "SELECT * FROM ".$table_select." WHERE (inv_date <= '" . $request->getParam("inv_date2"). "' AND inv_date >= '" . $request->getParam("inv_date"). "') AND brand='".$request->getParam("brand")."' AND groups='".$request->getParam("groups")."' AND engine_no='".$request->getParam("engine_no")."'";
         }
      elseif ($request->getParam("brand") != NULL && $request->getParam("groups") != NULL)
         {
         $sql = "SELECT * FROM ".$table_select." WHERE (inv_date <= '" . $request->getParam("inv_date2"). "' AND inv_date >= '" . $request->getParam("inv_date"). "') AND brand='".$request->getParam("brand")."' AND groups='".$request->getParam("groups")."'";
         }
[/color]      elseif ($request->getParam("brand") != NULL)
         {
         $sql = "SELECT * FROM ".$table_select." WHERE (inv_date <= '" . $request->getParam("inv_date2"). "' AND inv_date >= '" . $request->getParam("inv_date"). "') AND brand='".$request->getParam("brand")."'";
         }
      elseif ($request->getParam("groups") != NULL)
         {
         $sql = "SELECT * FROM ".$table_select." WHERE (inv_date <= '" . $request->getParam("inv_date2"). "' AND inv_date >= '" . $request->getParam("inv_date"). "') AND groups='".$request->getParam("groups")."'";
         }
      else
         {
         $sql = "SELECT * FROM ".$table_select." WHERE stat<>'1' AND (inv_date <= '" . $request->getParam("inv_date2"). "' AND inv_date >= '" . $request->getParam("inv_date"). "')";
         }
Thank you

Re: If Else Statement

Posted: Thu Mar 06, 2008 3:10 pm
by francisjeffy
Hi,

The first If condition is not closed.

check the code below

Code: Select all

if ( $request->getRequestMethod() == REQUEST_POST )
       {      
      if($request->getParam("table_m")==1)
         {
         $table_select="table_A";
         }
      else
         {
         $table_select="table_B";
         }
      if ($request->getParam("brand") != NULL && $request->getParam("groups") != NULL && $request->getParam("engine_no") != NULL)
         {
         $sql = "SELECT * FROM ".$table_select." WHERE (inv_date <= '" . $request->getParam("inv_date2"). "' AND inv_date >= '" . $request->getParam("inv_date"). "') AND brand='".$request->getParam("brand")."' AND groups='".$request->getParam("groups")."' AND engine_no='".$request->getParam("engine_no")."'";
         }
      elseif ($request->getParam("brand") != NULL && $request->getParam("groups") != NULL)
         {
         $sql = "SELECT * FROM ".$table_select." WHERE (inv_date <= '" . $request->getParam("inv_date2"). "' AND inv_date >= '" . $request->getParam("inv_date"). "') AND brand='".$request->getParam("brand")."' AND groups='".$request->getParam("groups")."'";
         }
     elseif ($request->getParam("brand") != NULL)
         {
         $sql = "SELECT * FROM ".$table_select." WHERE (inv_date <= '" . $request->getParam("inv_date2"). "' AND inv_date >= '" . $request->getParam("inv_date"). "') AND brand='".$request->getParam("brand")."'";
         }
      elseif ($request->getParam("groups") != NULL)
         {
         $sql = "SELECT * FROM ".$table_select." WHERE (inv_date <= '" . $request->getParam("inv_date2"). "' AND inv_date >= '" . $request->getParam("inv_date"). "') AND groups='".$request->getParam("groups")."'";
         }
      else
         {
         $sql = "SELECT * FROM ".$table_select." WHERE stat<>'1' AND (inv_date <= '" . $request->getParam("inv_date2"). "' AND inv_date >= '" . $request->getParam("inv_date"). "')";
         }
       }
Hope that helped,

jeF.