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,