Es imposible que entre en el primer if.
Quitando código sobrante, el primer if se reduce a:
Código PHP:
Ver original$a=$row4 [ ("a") ]; // $a=$row4["a"];
if(($a=="..:" || $a=="...." ) && ($a=="..." || $a=="...."))
...
O sea, el primer if hace 2 tests de igualdad unidos por un AND sobre la misma variable.
Obviamente, eso solo es posible si en los dos tests, hay una comparación idéntica, que no es el caso.
Vamos, que es imposible que $row4[("a")] cumpla el primer if, ya que se le pide que sea (una cosa u otra u otra) Y (otra cosa distinta u otra cosa distinta u otra cosa distinta).
No está mal ni en llaves ni en operadores, sino en concepto.