"assegnare un valore"? ma tu leggi i dati, non li scrivi... mah... cmq:

1) per accedere all'ultimo dato dopo il ciclo basta che usi la variabile $risultato... usare un if dentro il ciclo per individuarlo è inutile perchè all'uscita dal ciclo sarebbe cmq possibile inserire le istruzioni necessarie se da aggiungere in coda
2) $num = mysql_num_rows($query); è pari al numero dei record recuperati, quindi puoi inserire questo assegnamento prima del ciclo while insieme a un bel $i=1;. All'interno del while puoi mettere come ultima istruzione $i++ e in questo modo ad ogni iterazione $i conta lo step attuale, mentre con $i==$num puoi verificare se stai eseguendo l'ultima