Il problema non è nell'if, ma nelle query. Così come sono impostate lo stato viene modificato per tutti i record per cui alla fine trovi lo stato corrispondente all'ultima query eseguita. Devi aggiungere una condizione where:

Codice PHP:
$query2 "UPDATE Tab_Potenze SET stato = 1 WHERE id = $id"
ovviamente ho dato per scontato che nella tabella ci fosse un campo ID. Eventualmente devi modificare la query in base alla struttura della tabella.