순서바꾸고 출력어떻게하나요?
본문
$sql="select * from news where hotnews='1' order by news_order asc";
$order = $_POST['order'];
$list = sql_query($sql);
$i=0;
while($row=sql_fetch_array($list)){
$n_num=$row['n_num'];
if($row['news_order'] != $order[$i]){
echo $order[$i].$row['news_order']."ssss</br>";
$sql= "update news set news_order ='$order[$i]' where n_num='$n_num'";
sql_query($sql);
}else{
echo $order[$i].$row['news_order']."xxxx</br>";
}
$i++;
}
값을 넣을때마다 news_order값이 1씩 증가해서 news_order에 각각 순서대로 1,2,3,4 이런식으로 들어갔는데 1,5,6으로 이미지 옆에 표시된게 news_order라는 컬럼값인데 중간에 값없는건 컬럼삭제해서 이런거고
순서변경을 통해 위치가 이동이되고 순서변경을 눌렀을때 위에 sql문이 작동하는데 한계단씩 이동은 정상적으로 news_order값이 변경되서 위치가 바뀌는데 두단계씩 예를들어 맨밑에꺼를 맨위로 올리면 가운대로 이동합니다.. 어떻게 해야될까요?
답변 4
업데이트를 한번누르면 한번씩 실행 하게 하면 될것같은데요 ^^
간단하게 업데이트 파일 만들어서 순서 와 그리고 그위에거 를 고유아이디로 업데이트작업을 하심이 제일 나을것같아요 제가 코드를 전체를 몰라서 뭐라고 말은 못하겠지만 그렇겠 하심이 나을것같아요^^
2단계이상의 순서변경시 db 에 정상적으로 변경 사항이 적용되는지 우선 확인이 필요하겠는데요?
정렬이 잘안되시면 news_order 이 varchar 로되어있으면 order by news_order*1 asc 로하시면 정렬될것입니다.
순서변경 update 부분의 소스를 봐야 어떤식으로 순서 값을 바꾸는지 논리적으로 문제는 없는지 확인인 가능할듯합니다.