2013-02-21 2 views
1

이것이 가능한지 확실하지 않지만 가장 높은 값부터 낮은 값까지 컬럼별로 foreach 테이블을 정렬하고 싶습니다. 마지막 열은 PilotData::getAllPilotsByHub을 계산하는 count 수식을 가지고 있으며 가장 높은 수의 행을 항상 테이블에서 제일 먼저 표시하고 싶습니다.foreach를 사용하여 테이블을 정렬 하시겠습니까?

<?php 
$allhubs = OperationsData::GetAllHubs(); 

foreach($allhubs as $hub) 
{ 
?> 
<tr> 
    <td align="center"><?php echo $hub->icao; ?></td> 
    <td align="center"><?php echo $hub->name; ?></td> 
    <td align="center"><?php echo count(PilotData::getAllPilotsByHub(''.$hub->icao.'')); ?></td> 
</tr> 

<?php 
} 
?> 

답변

2

데이터베이스에서 가져 오는 경우 ORDER BY를 사용하여 순서가 지정된 데이터를 얻는 것이 좋습니다.

0

의 더 나은 u는 정렬 된 방식으로 데이터베이스의 데이터 ..

이 할 수있는, u는 그것을 주문해야하기 때문에

query=mysql_query("SELECT * FROm table ORDER BY column_1 ASC"); 

는 다음 foreach 루프

을 사용하는 말을 얻는 경우 데이터베이스에서 오름차순 또는 내림차순으로 데이터를 가져 오는 것이 더 효율적일 것입니다 ...

+0

'SELECT *'는 권장하지 않습니다. 거의 항상 잔인합니다. – BenM

+0

내가 선택한 지점을 가져 오지 않았 으면 ...... – Saswat

+0

DB에서 ** 모든 것을 ** 선택하는 것이 거의 필요하지 않습니다. 이것은 SELECT입니다. 필요한 것을 선택하는 것이 훨씬 낫습니다. – BenM

관련 문제