Ciao,
non so cosa intendi con mettere in and ma questo problema mi ricorda gli esercizi di logica booleana che facevo all'università nella mia vita precedente e quindi provo a darti uno spunto in questa direzione, vedi se può esserti utile.
Il sistema che hai adottato è un semplice (e molto elegante aggiungo) sistema di numerazione binaria posizionale, i valori 1, 2, 4, 8 infatti corrispondono ai "pesi" che si usano nelle conversioni fra binario e decimale e il modo più semplice per gestirlo credo sia di utilizzare la funzione decbin() del php.
A questa funzione passi un numero (il valore memorizzato nel tuo db) e lei ti restituisce la stringa binaria corrispondente che, vista la logica che hai scelto, corrisponde, cifra per cifra alle pagine in cui quel post deve apparire (tenendo conto che i pesi vanno attribuiti in ordine decrescente e che "1" significa "deve apparire" e "0" significa "non deve apparire").
Se nel db hai, ad esempio, il valore 12, lo passi alla funzione e lei ti restituisce la stringa 1100 che corrisponde a IMPORTANTE + RECENSIONE
E' quindi sufficiente passare il valore del db alla funzione ed esaminare la stringa restituita per sapere in quali pagine quel post deve apparire.codice:IMPORTANTE ! RECENSIONE ! ! POSITIVO ! ! ! CINEMA ! ! ! ! ! ! ! ! 8 4 2 1 1 1 0 0
Addirittura potresti applicare la decbin in fase di caricamento del db, in questo modo invece di caricare, ad esempio, 7, caricheresti 0111, semplificando poi lo smistamento seguente.
Ciao