Foros del Web » Programando para Internet » PHP »

Ordenar por columna dentro de "do while"

Estas en el tema de Ordenar por columna dentro de "do while" en el foro de PHP en Foros del Web. Buenas! Vereis, tengo una consulta un tabla "obras" la cual tiene un campo poblacion que es numerico ya que saca los datos de otra tabla ...
  #1 (permalink)  
Antiguo 01/06/2012, 04:55
 
Fecha de Ingreso: febrero-2012
Mensajes: 45
Antigüedad: 12 años, 1 mes
Puntos: 0
Ordenar por columna dentro de "do while"

Buenas!
Vereis, tengo una consulta un tabla "obras" la cual tiene un campo poblacion que es numerico ya que saca los datos de otra tabla "poblaciones".
A la hora de lanzar los datos de la consulta, la estructura que llevo es:

Consulta OBRAS
do{ Consulta POBLACIONES
poblacion = id_poblacion} while (mysql_fetch_assoc(obras)

Todo se ejecuta bien. Aparecen todas las obras deseadas, con su poblacion escrita que coje de POBLACIONES.

El caso es que quiero ordenarlo no por id en OBRAS, si no por nombre de poblacion, pero cuando le pongo el ORDER BY dentro de la consulta de POBLACIONES, no cambia nada, se sigue ejecutando por id de OBRAS y no por nombre de POBLACIONES...

No se si es que al estar dentro del do while no se puede...

Gracias!! Un saludo!!
  #2 (permalink)  
Antiguo 01/06/2012, 05:07
Avatar de oscartt67  
Fecha de Ingreso: abril-2012
Ubicación: fonollosa
Mensajes: 481
Antigüedad: 12 años
Puntos: 97
Respuesta: Ordenar por columna dentro de "do while"

podrias mostrar el código php?
  #3 (permalink)  
Antiguo 01/06/2012, 05:21
 
Fecha de Ingreso: febrero-2012
Mensajes: 45
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: Ordenar por columna dentro de "do while"

Código PHP:
<?php

mysql_select_db
($database$losa);
$query_datos sprintf("SELECT * FROM obras WHERE provincia = ".$_GET['pro']."");
$datos mysql_query($query_datos$losa) or die(mysql_error());
$row mysql_fetch_assoc($datos);
$totalRows mysql_num_rows($datos);

 do { 
mysql_select_db($database$losa);
$query_datos4 sprintf("SELECT * FROM poblaciones_obras WHERE id_pob = ".$row['poblacion']." ORDER BY nombre ASC");
$datos4 mysql_query($query_datos4$losa) or die(mysql_error());
$row4 mysql_fetch_assoc($datos4);
$totalRows4 mysql_num_rows($datos4);

echo 
$row4['nombre']

} while (
$rowmysql_fetch_assoc($datos));  ?>
Asi es el codigo que tengo resumido. Si hay alguna duda decidme.

Gracias!!
  #4 (permalink)  
Antiguo 01/06/2012, 05:49
Avatar de oscartt67  
Fecha de Ingreso: abril-2012
Ubicación: fonollosa
Mensajes: 481
Antigüedad: 12 años
Puntos: 97
Respuesta: Ordenar por columna dentro de "do while"

simplemente tienes que modificar tu consulta, y hacerlo de una tacada. Ahí tienes.

Código PHP:
mysql_select_db($database$losa); 
$query_datos sprintf("SELECT *,poblacion.nombre as nompob FROM obras left join poblaciones on poblaciones.id_po=obras.poblacion WHERE provincia = {$_GET['pro']} order by poblaciones.nombre"); 
$datos mysql_query($query_datos$losa) or die(mysql_error()); 
while (
$fila mysql_fetch_assoc($datos)) {
    echo 
$fila['nompob'

Saludos.
  #5 (permalink)  
Antiguo 01/06/2012, 08:02
 
Fecha de Ingreso: febrero-2012
Mensajes: 45
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: Ordenar por columna dentro de "do while"

Ya me funciona!! Muchas gracias!!

Última edición por fran_ba; 01/06/2012 a las 08:08

Etiquetas: columna, mysql, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:52.