lo puede hacer mediante jquery,
http://jquery.com/, tienes que incluir la libreria como un .js
espero te sirva.
saludos.
Código PHP:
<?php
//tu select en un archivo_x.php con la libreria jquery en el header
echo "<select name='n1' id='n1'>";
//aca llenas los datos desde la bd
echo "</select>";
?>
<script>
//este es el script de jquery
$(function(){
//preguntas cuando cambie de valor el select enviar mendiate post a un archivo php para //que haga la validacion
//con el id(#) del select
$("#n1").change(function(){
//.post("donde lo enviamos",{"variables que enviamos":"valor de la varible"},function(){});
$.post("archivo.php",
{"valor_del_select":$(this).val()},
function(valor){
//valor es lo que devuelve el archivo.php
//hacemos una consulta para ver lo que devolvio
if(valor == 1){
return true;
}
else{
//aca el error, puede ser un alert, dar un valor a un div o lo que se te ocurra
alert("el dato no se encuentra");
return false;
}
}
);
});
});
</script>
<?php
//en archivo.php
//aca hacemos la consulta con el dato enviado mediante jquery
$sql = mysql_query("SELECT id FROM tabla_y WHERE dato='". $_POST['valor_del_select'] ."'");
if(mysql_num_rows($sql) > 0){
echo 1; // este es el resultado enviado que luego consultamos para mostrar el mensaje
}
else{
echo 0;
}
?>