Has probado relacionar las 2 tablas en la consulta??
Código PHP:
$q = mysql_query("SELECT * FROM cursos c INNER JOIN public_curso pc ON pc.codigo=c.codigo ORDER BY c.nombre_curso");
while ($a = mysql_fetch_array($q))
{
//Codigo a presentar por cada resultado
}