id = 9 인 특정 하위 범주 에 할당 된 프로필 이름을 가져 오려고합니다. 아래 코드를 실행하면 원하는 프로필이 표시되지만 foreach 루프의 ORDER BY 절이 알파벳순으로 해당 이름을 으로 정렬하지 않습니다. 대신 'subcategories'테이블의 'profiles'필드 (프로필의 ID는 쉼표로 구분됨) 안에 주문 된 것과 같은 방식으로 주문됩니다. 예를 들어 I '는, 5,1,2'프로파일 이름은 다음 순서 표시한다있다 [ '프로파일'] 하위의 경우 : ID와 ID = 5 MySQL의 order by 절이 foreach 루프 내에서 작동하지 않습니다.
- 프로필 = ID 1
- 프로필 = I는 다음 '세부 항목' 테이블 안에 각 프로파일의 ID를 얻을하도록 분해() 함수를 사용하고 2
은 ID가로부터 자신의 정보를 검색하는 것을 사용를 사용하는 '프로필'표foreach 루프 내부의 쿼리입니다.
여기에 누락 된 자료가 있습니까? 당신의 도움을 주셔서 감사합니다. 당신이 $ 프로파일에 대한 귀하의 foreach 루프에서 새 SQL 쿼리와 모든 프로필을 검색하기 때문에 결과 이름으로 주문하지 않는 이유
<?php
$subcategories=mysql_query("select * from subcategories where id='9'");
while ($subcategories = mysql_fetch_array($subcategories))
{
$profiles = $subcategories['profiles'];
$profiles = explode(',', $profiles);
foreach ($profiles as $p)
{
$all_places = mysql_query("select * from profile where id='$p' and active='1' order by name asc");
while ($profile = mysql_fetch_array($all_places))
{
echo $profile['name'];
}
}
}
?>
'ORDER BY' 절이 없으면 정상적으로 작동합니까 (제외 된 경우)? – Lion
네, 정상적으로 작동합니다. –