Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/03/2005, 10:48
lcrecarey
 
Fecha de Ingreso: enero-2005
Mensajes: 116
Antigüedad: 20 años, 1 mes
Puntos: 0
Pregunta Select que coja solo los registros que empiezan por "el valor de un campo texto"

Hola forer@s:
Estoy gestionando una clínica médico-dental en la que hay 7000 clientes. Y están aumentando.
Tengo un campo de texto en el que la dependienta escribirá el principio del nombre del cliente, para que ¡YO! se lo busque en la base de datos.
El select que tengo ahora (dentro de un script) es:
SELECT Codigo,Nombre FROM Clientes ORDER BY Nombre;
Pero necesito hacer la consulta en php, con lo que me queda algo como:
Código PHP:
$paciente=mysql_query("select Codigo,Nombre from Clientes order by Nombre",$link); 
Mi problema es que quiero que se busquen las entradas que empiecen por txtVal, que es la variable que contiene el valor del campo texto en el que escribirá la dependienta.
Código HTML:
var txtVal = document.form_nueva_cita.paciente.value;
Ya probé con esto:
Código PHP:
$paciente=mysql_query("select Codigo,Nombre from Clientes where Nombre LIKE 'txtVal%' order by Nombre",$link); 
Pero ... me carga valores vacíos en el Select, es decir, se despliegan unos 10 huecos vacíos en el select. Y se supone que debéría cargar los que empiecen por txtVal.
Yo creo que el problema está en que no actualiza bien el txtVal, porque esto (fuera del script) sí funciona (Me selecciona todos los registros cuyo campo nombre empieza por tr):
Código HTML:
<body>
$txtVal='Tr';
$paciente=mysql_query("select Codigo,Nombre from Clientes where Nombre LIKE '$txtVal%' order by Nombre",$link);  
while($row = mysql_fetch_array($paciente)) 
 { 
   echo 'Codigo: '.$row['Codigo'].'<br>';
   echo 'Nombre: '.$row['Nombre'].'<br>';
 } 
mysql_free_result($paciente); 
</body> 
Si alguien sabe de que puede ser, agradecería su ayuda.