2011-03-25 4 views
0

배열에서 채워진 옵션 목록을 사전 순으로 구성하려고합니다. 문제는 배열 배열 앞에 html 태그가 포함되어있어 정렬이 불가능하다는 것입니다. 배열 변수를 가져온 mysql 쿼리에서 'ORDER BY'를 시도했지만 명령이 손실됩니다.mysql 테이블에서 가져온 변수를 포함하는 html 행의 배열을 어떻게 구성합니까?

전체 시스템은 mysql 테이블의 키 열을 기준으로 목록을 정렬하는 것처럼 보이지만 단순히 허용되지 않습니다. 이 문제를 해결할 방법이 있습니까? 어떤 도움이라도 대단히 감사 할 것입니다! 여기

내가 할 노력하고있어의 예입니다 :이 확실히있어 그것을 할 수있는 방법,하지만 그들은 모두 당신을 위해 데이터베이스 정렬을시키는 것보다 훨씬 느린

$options = array(); 
$query1=mysql_query("Select * From table1 Where name='blah'"); 
while($queryvalue1=mysql_fetch_array($query1)) { 
$array1 = $queryvalue1['Column1']; 
$query2=mysql_query("Select * From table2 Where id In ($array1) Order by value DESC"); 
while($queryvalue2=mysql_fetch_array($query2)) { 
    $var1 = $queryvalue2['Column2']; 
    $var2 = $queryvalue2['Column3']; 
    $options[] = "<option value='$var'>$var2</option>" 
    } 
} 
$options = implode(PHP_EOL, $options); 

답변

0

.

가장 간단한 해결책은 아니지만 나머지 코드를 수정하는 동안 임시 테이블을 사용해야하는 경우에도 HTML 태그를 제거하고 데이터베이스를 다시 채우는 것이 좋습니다. 애플리케이션 라이프 사이클의 나머지 부분에서 심각한 문제를 계속해서 해결할 필요가 없으므로 올바르게 수행하십시오.

+0

답변 해 주셔서 감사합니다. 왜 데이터베이스를 수정해야합니까? 새로운 키 열로 구성하려는 열을 할당하려면? 그렇지 않으면이 문제를 해결하기 위해 데이터베이스를 수정하는 방법을 알 수 없습니다. 더욱이, 만약 당신이 내게 어떤 방법을 보여줄 수 없다면, 내가하는 일을 할 수 있습니다. 내 데이터베이스를 변경하는 것이 좋을 것입니다, 조금 더 배우는 것보다 다른 이유가 없다면. 다시 한 번 감사드립니다! – Oldtimer

+0

즉, 데이터베이스의 값 (이 경우 'Column3')에서 HTML을 제거하고 필요할 때마다 코드에서 필요에 따라 다시 추가하십시오. – SilverbackNet

+0

좋아, 나는 내가 자신을 잘 설명했다고 생각하지 않는다 (나는 두려웠다). 내 데이터베이스에는 html이 없습니다. html은 데이터베이스에서 원하는 방식으로 내 변수의 형식을 지정하기 위해 배열에 임베드됩니다. $ var1과 $ var2는 값이고 배열은 $ array = "

관련 문제