ciao, prima cosa

Codice PHP:
$query "SELECT * FROM articoli WHERE online='1' AND cat='$id' ORDER BY id_articolo DESC"
che c'entra online='1' ?

leggendo il tuo codice il primo intoppo che ho trovato è come dichiari la variabile $id

Codice PHP:
if ($id == '1') {  echo "categoria1";  }
 else if (
$id == '2') {  echo "categoria2";  }
 else if (
$id == '3') {  echo "categoria3";  }
 else if (
$id == '4') {  echo "categoria4";  }
 else if (
$id == '5') {  echo "categoria5";  }
 else {  echo 
"Archivio completo";  } 
con questo codice prelevi il valore di id e lo assegni alla variabile $id, quando scrivi

Codice PHP:
echo "categoria1"
non assegni nessun valore a nessuna variabile, stampi solamente,in questo, 'categoria1'

in questo caso per recuperare la categoria(ammesso che tu le abbia chiamate categoria1, categoria2, ...) articoli e passare alla query tale valore potresti fare così:

Codice PHP:
$cat='';
if (
$id == '1') {  $cat "categoria1";  }
 else if (
$id == '2') { $cat "categoria2";  }
 else if (
$id == '3') {  $cat "categoria3";  }
 else if (
$id == '4') { $cat "categoria4";  }
 else if (
$id == '5') {  $cat "categoria5";  }
 else {   
$cat "Archivio completo";  }


$query "SELECT * FROM articoli WHERE online='1' AND cat='$cat' ORDER BY id_articolo DESC"