Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/03/2010, 23:00
Avatar de pepejaguar
pepejaguar
 
Fecha de Ingreso: enero-2005
Ubicación: Guatemala
Mensajes: 76
Antigüedad: 19 años, 3 meses
Puntos: 0
Pregunta Consulta ordenada con condicional

Buen día.

Tengo una duda al respecto de una Consulta ordenada con su condicional.

La consulta la hago a través de una función que está planteada, a grosso modo, de la siguiente forma

Código PHP:
function categoria($id)
{
$cat mysql_query("SELECT nombre FROM categorias WHERE id = '$id' ORDER BY nombre ASC ");
while (
$categoria mysql_fetch_array($cat)) {
echo = 
$categoria['nombre']."<br />";
}

La idea es que busque en la tabla categorías y ordene en forma ascendente. El problema está en que no hace este ordenamiento.

Creo que la causa es la forma en la que llega el valor de $id, este es un array que contiene varios números, quizá con esta información, pueda dar mas luces para resolver el problema.

Supongamos que la tabla es:

id -- nombre

1 -- nombreC
2 -- nombreA
3 -- nombreB
4 -- nombreE
5 -- nombreD

El valor de $id puede estar formado por varios números diferentes, por ejemplo 1,2,5 ó 1,3,2 ó 5,3,1, ó 4,3,2,1 etc, la combinación es diferente cada vez, porque es el resultado de otra consulta.

Si fuera el array 1,2,5 el resultado de la función debiera ser:

nombreA
nombreC
nombreD

Si fuera el array 5,3,1 el resultado debiera ser:

nombreB
nombreC
nombreD

Pero comentaba anteriormente, si se realiza la consulta pero no se realiza el ordenamiento, supongo que ha de ser porque cada valor ingresa a la función de forma individual, es decir solo 5, solo 3, solo 1 entonces como es solo un valor único no se ordena.

¿Hay alguna forma de poder corregir esto? ¿Me he explicado bien?

Gracias por la ayuda, saludos.