No ja bardzo nie lubie takich skryptów zakotwiczanych. Raczej jestem zdziadziałym programista i wolę jak jeden język wiedzie prym igeneruje drugi a nie że sie wzajemnie przewijają

Twój problem nie polega na obrazku tylko linku - jesli nie jest spełniony jakiś warunek nie generujesz linka a obrazek zostaje na swoim miejscu:
<?php
if($ib==2){
//$parametry=...... //tu definiujesz parametry linku
echo \"<a href=dobre.php?$parametry\"; echo \"<img src=dupa.jpg border=0>\"; }else{
echo \"<img src=dupa.jpg border=0>\"; }
?>
Może nie użyłem odpowieniej wartości warunku ale chodzi o zasadę.