Por lo de la sintaxis: puede parecer un embrollo, pero no es tan asi...
Debes distinguir 2 cosas: lo que le debe llegar a mysql y lo que "le das" a PHP.
X ej en tu consulta a mysql le deberia llegar
Código:
SELECT * FROM tabla WHERE campo like 'valordesel%' ORDER BY campo ASC
o sino (creo que es lo mismo - te ADVIERTO que recien empiezo a "descubrir" esto de SQL)
Código:
SELECT * FROM tabla WHERE campo like "valordesel%" ORDER BY campo ASC
Pero para decirle a PHP que mande eso a mysql debes tener en cuenta las comillas que deben llegar en la consulta.
Por ej si al string lo defines usando comillas dobles, y quieres pones comillas dobles dentro del mismo usa \"
Código PHP:
$query_listado = "SELECT * FROM tabla WHERE campo like \"$sel%\" ORDER BY campo ASC";
Con respecto a lo de $sel="0-9". ¿que quieres? ¿que la consulta devuelva campos que tengan numeros del 0 al 9?
Porque tengo entendido que si $sel="0-9" y usas LIKE con el % al final te encontraria, por ej la cadena "0-91123421" o "0-9abc"
Si lo que quieres es lo otro usa REGEXP de mysql, que busca coicidencias con la expresion regular.
Lee esto
http://www.programacion.com/tutorial/mysql_basico/11/
Si no puedes postea lo que quieres y tratamos de ayudarte.
un saludo,