Con mysql_num_rows() puedes obtener el total de registros que te arroje una consulta .. (en tu caso esas $r2 y $r3 .. ) si te arroja +0 pues ya lo tienes .. "else" .. la otra consulta ..
 
También tienes COUNT(*) de Msyql (función) que es mucho más optima para calcular el total de registros que puede arrojar una consulta que hagas ..  
A este total lo puedes acceder con:  
 Código PHP:
    <?
$r2="SELECT COUNT(*) FROM ....... lo que tienes .....";
$consulta=mysql_query($r2);
 
// se accede al único registro que arroja una consulta tipo COUNT() 
$total=mysql_result($consulta,0);
 
// Se compara ..
if ($total >0){
    $r="SELECT .. el que tenias ..."; // tu $r2 SQL 
} else {
     $r="SELECT .. el que corresponda"; // tu $r3 SQL
}
 
// Ejecutamos la consulta que salga del condicional
$consulta=mysql_query($r);
 
// Y un bucle para leer los posibles registros que se obtengan ..
while ($registro=mysql_fetch_array($consulta)){
   // se obtiene un array asociativo .. donde el indice es el nombre del campo que uses en tu SQL  ...
   echo $registro['nose_campo'];
   echo $registro['nose_campo'];
}
?>    
  Un saludo,