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"). "')";
}