Esa forma de mezclar javascript y php no es una buena manera de hacer las cosas.
Entiendo que quieres una función en javascript que te cree un select con datos de una base de datos, pero estás mezclando cosas que no se pueden hacer.
La manera correcta sería:
- Realizar una petición al servidor para sacar los datos que quieres obtener
- El servidor realiza la consulta
Luego tienes dos opciones:
- Te creas la estructura del select en el php y devuelves como respuesta un código html que luego solo tienes que insertar en la página
- Recibes unos datos en otro formato, como XML, y vas creando el select mediante el DOM
Yo casi prefiero la primera versión, pero es igual.
Lo importante es tener claro como puedes hacerlo y no mezclar las cosas (la función que has puesto se crea con datos en el script php pero a su vez necesita alimentarse de un dato que todavía no tienes porque no se ha enviado la página al cliente. Vamos, la serpiente que se muerde la cola).
Te voy a poner un esquema de como sería la función (Voy a utilizar la librería JQuery que facilita mucho el uso de AJAX.):
Código Javascript
:
Ver originalfunction creaSele(id, list, titulo){
$('#'+id).hide();
$.ajax({
type: "POST",
url: "datos.php",
data: ({titulo : titulo}),
dataType: "html",
success: function(datos){
$('#'+list).append(datos,'<input type="hidden" value='+id+'" name="identificador[]" />');
},
error: function(datos){
$('#'+list).append(datos,'<input type="hidden" value='+id+'" name="identificador[]" />');
}
});
}
Luego en el archivo datos.php tendrías que hacer la consulta a la base de datos y crear la estructura de select y option.