1) Tenés que definir $hoy con la fecha actual. Si estás usando fechas en formato SQL sería algo así:
Código PHP:
Ver original$hoy="2012-03-12";
ó
ó
$hoy=gmdate("Y-m-d", time()+3600*$huso); //(donde $huso es el huso horario por ejemplo: -6).
Esto tenés que hacerlo antes de $sql="...";
2)
Código PHP:
Ver originalecho "$hoy[0]";
echo "$row->dias_pasados";
Están mal. Poné así para visualizar los datos:
Código PHP:
Ver originalecho $row->radicacion.cod_rad." - ".$row->dias_pasados."<br />\n";
La consulta tal como está devuelve los datos de la tabla "radicacion" con el campo "cod_rad=19" y tantos registros como días hábiles haya entre las fechas indicadas en el WHERE.
Luego, al utilizar DISTINCT y GROUP BY lo que hace, es mostrarte 1 registro por cada "cod_rad" distinto [en este caso es 1 solo (19)] luego con COUNT(*) te devuelve la cantidad de registros originales (es decir en este caso la cantidad de días).
Medio difícil de explicar, lo mejor es hacer pruebas para entenderlo.
Con respecto a "AS" es para usar un alias del nombre del campo, por ejemplo:
SELECT tabla.campo AS alias FROM tabla
Entonces, en vez de usar $row->campo usas $row->alias para obtener el valor del campo.
Un comentario más:
Si le sacás: "radicacion.cod_rad=19 AND " al SELECT vas a obtener el listado completo de todas las radicaciones con la cantidad de días de cada uno.
Suerte!