Ver Mensaje Individual
  #2 (permalink)  
Antiguo 23/06/2005, 00:53
leonardop
 
Fecha de Ingreso: julio-2003
Mensajes: 165
Antigüedad: 20 años, 10 meses
Puntos: 1
Básicamente tienes que modificar ligeramente la expresión regular para que busque coincidencias con "letras entre m-n o el caracter ñ". La expresión regular podría ser algo así:

Código:
SELECT * FROM nombre_tabla WHERE nombre_campo REGEXP '^([m-n]|ñ)'
Para que esta sentencia sea generada dinámicamente desde la entrada del usuario, una posibilidad es modificar un poco los valores de las opciones del elemento 'select' (según entiendo) para que puedan formar expresiones que no estén restringidas a estar dentro de los caracteres []. Por ejemplo:

Código:
<select name="buscar">
  <option value="[a-b]">A-B</option>
  <option value="[c-d]">C-D</option>
  (... etc...)
  <option value="([m-n]|ñ)">M-Ñ</option>
  (.. y más etc...)
</select>
Y luego tu sentencia se formaría a partir de:
Código:
SELECT * from mytabla where nombre REGEXP '^$buscar'
Otra opción sería simplemente usar una condición para verificar si la opción es "m-n" y en tal caso modificar la sentencia SQL acordemente.

No olvides validar los datos para evitar problemas de inyección SQL :).