Ciao, e' abbstanza semplice... forse se non hai mai usato ajax dovresti prenderci un po la mano pero' potresti fare cosi':

Io per comodita' uso jquery(libreria javascript orami usata da molti)
questo il sito con la documentazione http://jquery.com/ e download volendo anche se puio includere direttamente con
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>

A questo punto avendo la libreria usi ajax di jquery
Avrai la tua funzione tipo:
codice:
function updateDB(idRecord){
$.ajax({
   type: "POST", //metodo get o post
   url: "publica.php", //lo script da richiamare
   data: "idrecord="+idRecord, //tutto quello che passi come parametri (non serve ? iniziale)
   success: function(dati){ //arrivi qui se la chiamata va a buon fine
     //dati è quello che ritorna lo script chiamato
    

   }
 });

}
Ora tu hai come parte di html questo:
<a href="publica.php?idrecord=100">[img]pubblica.jpg[/img]

Che dovra' diventare per esempio:
<a href="publica.php?idrecord=100">[img]non_pubblica.jpg[/img]

Ora non so se interessa cambiare solo l'immagine o che nel tuo esempio; in tal caso ti basta dare un id al tag IMG e cambiare con javascript SCR a seconda del nuovo stato oppure se ti viene piu' comodo cambiare tutto il blocco <a href="publica.php?idrecord=100">[img]pubblica.jpg[/img] coi nuovi dati.

Tutto questo va gestito da quelle che ritorna ..success: function(dati){.. scritto sopra dove dati sarebbe o il valore per farti capire lo stato nuovo o tutto il nuovo pezzo html da usare e quindi:
codice:
function updateDB(idRecord){
$.ajax({
   type: "POST", //metodo get o post
   url: "publica.php", //lo script da richiamare
   data: "idrecord="+idRecord, //tutto quello che passi come parametri (non serve ? iniziale)
   success: function(dati){
    if(dati==1){
      $('#idRecord').attr('scr','pubblica.jpg');
    }else{
      $('#idRecord').attr('scr','non_pubblica.jpg');
    }
      //$('#idRecord') per jquery equivale a document.getElementById(idRecord)
      //supponendo che avrai <img id="idRecord"..... />
   }
 });

}
Magari visto così senza aver mai provato sembra un casino ma se ci prendi la mano diventa molto semplice