짧은 이야기로 필드 별 내 주문이 MySQL 호출을 위해 작동하지 않는 것 같습니다. 정말"ORDER BY FIELD"MySQL이 작동하지 않는 것처럼 보입니다.
$의 theorder이
여기, 'People-Wedding Photo', 'People-Kids', 'People-Male/Female', 'Architecture-Exterior', 'Architecture-Interior', 'Animal-Birds', 'Backgrounds'
그리고 내 코드와 같이 올바르게 설정 ... 저장에 패턴을 찾을 수 없습니다. 보시다시피, 나는 변환을 통해 내 형식을 변환하고 있습니다 ....하지만 여전히 잘못된 순서를 ... 임의 순서 ...
누락 된 것이 있습니까?
$under_link_query = mysql_query("SELECT DISTINCT(type), type FROM ".$prefix."ProFolio_work WHERE type != 'Backgrounds' ORDER BY FIELD(type" . $theorder .")");
while($u_row = mysql_fetch_assoc($under_link_query)){
$type = html_entity_decode($u_row['type']);
$typeForm = preg_replace('/[^a-z0-9]/i', '_', $type);
?>
<a href="#" id="link_<? echo str_replace(' ', '_', $typeForm); ?>">
<? echo ucfirst($type); ?></a>
<?
$ theorder 변수는 무엇이며 올바르게 설정되어 있습니까? 나는 혼란 스럽다. 첫 번째 비트는 당신이 원하는 순서인가요? 왜 SELECT .... FROM ... ORDER BY와 같은 방식으로 DESC 또는 ASC를 입력할까요? – thatidiotguy
올바른 구문 iirc는 기본적으로 삭제해야하는'ORDER BY $ fieldname'입니다. 또한 'ORDER BY'는 해당 필드를 기준으로 정렬되지만 db가 설정 한 우선 순위에 따라 정렬됩니다. 숫자 순서는 연관 순서보다 훨씬 더 예측 가능합니다. 내 권장 사항은 데이터를 가져 와서 그것을 사용하여 원하는 형식으로 PHP로 조작하는 것입니다. – Malovich
결과를 표시 할 순서를 수동으로 지정할 수있는 "ORDER BY FIELD"로 알려져 있습니다. http://www.cfdan.com/posts/Handy_MySQL_-_ORDER_BY_FIELD.cfm – PaulHanak