funciona php dentro de ??

Pues bien, necesito introducir un mapa de ruta en mi página, y en el script dentro de <head> he introducido codigo PHP para que según lo que hayas clickado anteriormente aparezca un mapa u otro. La cuestión es que este código no me funciona.... y he pensado que tal vez sea por uitilizar php dentro del head y de un script de javascript.
Alguien sabe como solucionar el error? u otra manera de meter un mapa de ruta entre dos puntos?

Un saludo y gracias!!

codigo:

<script src="http://maps.google.com/maps?file=api&amp;v=2&oe=ISO-8859-1;&amp;key=ABQIAAAAXf
yLOV-DBHsmkpuY-LUUzBRvMuQNe3bCQ9tCDXjXwHZUjgdNBhQG32AJg5mKqo03Qmq9WX7GTGdmvw"
type="text/javascript"></script>
<script type="text/javascript">

var map;
var gdir;
var geocoder = null;
var addressMarker;

function initialize() {
if (GBrowserIsCompatible()) {
map = new GMap2(document.getElementById("mapa_ruta"));
map.addControl(new GLargeMapControl());
map.addControl(new GMapTypeControl());
gdir = new GDirections(map, document.getElementById("direcciones"));
GEvent.addListener(gdir, "load", onGDirectionsLoad);
GEvent.addListener(gdir, "error", handleErrors);

<?  	$idv= $_GET['IDV'];  //Se hace así el paso de parametros por GET??
 
   $sql="SELECT * FROM viajes WHERE IDV= '".$idv."'";
//	echo $sql;
	$res10 = mysql_query($sql) or die (mysql_error());
	if(mysql_num_rows($res10)>0){
 
				$qmuni_o=mysql_query("SELECT municipio FROM municipios WHERE idm='".$r2['ORIGEN']."'");
				$name_muni_o=mysql_fetch_assoc($qmuni_o);
				$qmuni_d=mysql_query("SELECT municipio FROM municipios WHERE idm='".$r2['DESTINO']."'");
				$name_muni_d=mysql_fetch_assoc($qmuni_d);
				$s=mysql_query("SELECT NOMBRE FROM usuarios WHERE ID='".$r2['ID']."'");
				$name_us=mysql_fetch_assoc($s);
	}
	?>


setDirections("<?php echo $name_muni_o['municipio'];?>", "<?php echo $name_muni_d['municipio'];?>", "es");    <------------------------------------------------- AQUI

}
}

function setDirections(fromAddress, toAddress, locale) {
gdir.load("from: " + fromAddress + " to: " + toAddress,
{ "locale": locale });
}

function handleErrors(){
if (gdir.getStatus().code == G_GEO_UNKNOWN_ADDRESS)
alert("Dirección no disponible.\nError code: " + gdir.getStatus().code);
else if (gdir.getStatus().code == G_GEO_SERVER_ERROR)
alert("A geocoding or directions request could not be successfully processed, yet the exact reason for the failure is not known.\n Error code: " + gdir.getStatus().code);
else if (gdir.getStatus().code == G_GEO_MISSING_QUERY)
alert("The HTTP q parameter was either missing or had no value. For geocoder requests, this means that an empty address was specified as input. For directions requests, this means that no query was specified in the input.\n Error code: " + gdir.getStatus().code);
else if (gdir.getStatus().code == G_GEO_BAD_KEY)
alert("The given key is either invalid or does not match the domain for which it was given. \n Error code: " + gdir.getStatus().code);
else if (gdir.getStatus().code == G_GEO_BAD_REQUEST)
alert("A directions request could not be successfully parsed.\n Error code: " + gdir.getStatus().code);
else alert("An unknown error occurred.");
}

function onGDirectionsLoad(){
}

</script>
Hola :D:

PHP funciona donde se te ocurra, pues puedes crear la página completa en PHP así:

<?php echo "<html><head><title><script>alert('Mi nuevo sitio');</script></head><body><h1>Mi nuevo sitio</h1></body></html> ?>

No se ve muy bien para el programador que lo tenga que leer, pero funciona :P.

Ahora, el por qué no te funciona a ti es un misterio para mi... Lo que yo haría sería, primero, ver si retorna los resultados correctos extraídos de la base de datos:

$qmuni_o=mysql_query("SELECT municipio FROM municipios WHERE idm='".$r2['ORIGEN']."'"); 
$name_muni_o=mysql_fetch_assoc($qmuni_o); 
$qmuni_d=mysql_query("SELECT municipio FROM municipios WHERE idm='".$r2['DESTINO']."'"); 
$name_muni_d=mysql_fetch_assoc($qmuni_d); 
$s=mysql_query("SELECT NOMBRE FROM usuarios WHERE ID='".$r2['ID']."'"); 
$name_us=mysql_fetch_assoc($s);

print_r( $name_muni_o );
echo "<br />";
print_r( $name_muni_d);
echo "<br />";
print_r( $name_us );

De esta forma descartas que los datos no se estén extrayendo. Si te muestra los datos que esperas, entonces asegúrate de que al ver el código fuente del sitio (con el navegador), la parte del head donde esta la función Javascript tenga los datos correctos (los que se supone salen de la base de datos).

Saludos y suerte.
Como siempre... Gracias skaparate! realmente me incomoda ver la respuesta porque es algo que si piensas 5 minutos, es super logico! pero cuando algo me falla me agobio, y no sé por donde salir...

Así que gracias por tus respuestas tan simples y a la vez tan aclaradoras! ;) Un saludo
De nada. De cualquier forma, a todos nos pasa lo mismo en algún momento.

No sé si has jugado ajedrez alguna vez, pero si lo has hecho y has visto un encuentro desde "afuera", te darás cuenta que el espectador se da cuenta de los errores de los jugadores antes que estos muevan las piezas. Lo mismo ocurre aquí: cuando tenemos un problema puede que sea difícil "verlo", pero es probable que llegue alguien externo y lo encuentre de inmediato :P.

Saludos.