I have 6 filters on a form ... Only one filter can be filled. I already tried using an XOR, use a flag, but not right:
// rgn20180711 TrixDes : inclusão de campos que permitem buscar o codigo pelo nome
if ($fp["Param.CodPadEdicao"]!="" xor $fp["Param.CodDominio"]!="" xor $fp["Param.Tabela"]!=""
xor $fp["Param.CodFuncional"]!="" xor $fp["Param.CodCampo"]!="" xor (($fp["Param.NumLanIni"] =! "") && ($fp["Param.Tipo"] =! "")))
MessImg("Apenas uma das informações devem ser preenchidas. Caso seja o código, o tipo é necessário!", MESSERRO, true);
if ($fp["Param.CodPadEdicao"]!="") //Padrão de Edição
{
$fp["Param.NumLanIni"] = $fp["Param.CodPadEdicao"];
$fp["Param.Tipo"] = "P";
}
if ($fp["Param.Tabela"]!="")//tabela
{
$fp["Param.NumLanIni"] = $fp["Param.Tabela"];
$fp["Param.Tipo"] = "A";
}
if ($fp["Param.CodCampo"]!="")//Campo de Tabela
{
$fp["Param.NumLanIni"] = $fp["Param.CodCampo"];
$fp["Param.Tipo"] = "T";
}
if ($fp["Param.CodDominio"]!="") //Domínio
{
$fp["Param.NumLanIni"] = $fp["Param.CodDominio"];
$fp["Param.Tipo"] = "D";
}
if ($fp["Param.CodFuncional"]!="")//Funcionalidade
{
$fp["Param.NumLanIni"] = $fp["Param.CodFuncional"];
$fp["Param.Tipo"] = "F";
}
It only works fine if I do not use these two fields that need to be filled together:
(($fp["Param.NumLanIni"] =! "") && ($fp["Param.Tipo"] =! ""))
In case I would have to test if more than one field is filled I return an error saying that only one field can be filled. What am I doing wrong?