tengo un campo en la bd que es de tipo VARCHAR, pero quiero ordenarlo como un INT entoces al hacer el ORDER BY me ordena como una cadena. Hay alguna forma de transformarlo al sacarlo de la bd?
trabajo con PHP por si hay alguna fucnion que me sirva.
LA consulta en cuestion es la siguiente:
SELECT *
FROM t_articulo
WHERE id_tienda=$id ORDER BY precio ASC
precio es VARCHAR
intenta con la funcion mysql_fetch_array, esto hace que los resultados de la consulta vayan a un arreglo, luego, puedes ir copiando todos los campos a otro arreglo, cambiando el tipo de campo, con setttype($variable, tipo) y luego deberás de hacer un script de orden que más te agrade y con eso se verá como quieres...
pd: Precio en VARCHAR?
tienes varias formas de sacarlos por ejemplo
while($result = mysql_fetch_array($var:que tiens)){
echo $result['id']."<br>";
}
otra forma seria
while(list($id)=mysql_fetch_array($var:que tienes)){
echo $id."<br>";
}
siguiente
while($result = mysql_fetch_object){
echo $result->id."<br>";
}
bueno cualquiera de las tres te funciona igual generalmente yo ocupo la primera siempre y cuando trabaje en html sino ocupo la segunda para trabajar los resultados en xml para sacar los datos en flash esooo.
Prueba esto:
SELECT CAST(precio as int) AS precio_change FROM tabla ORDER BY precio_change
Recuerda que ya existe un foro de PHP :D
http://foro.elhacker.net/index.php/board,68.0.html
Saludos!!