순서바꾸고 출력어떻게하나요? 채택완료
$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개
업데이트를 한번누르면 한번씩 실행 하게 하면 될것같은데요 ^^
간단하게 업데이트 파일 만들어서 순서 와 그리고 그위에거 를 고유아이디로 업데이트작업을 하심이 제일 나을것같아요 제가 코드를 전체를 몰라서 뭐라고 말은 못하겠지만 그렇겠 하심이 나을것같아요^^
댓글을 작성하려면 로그인이 필요합니다.
댓글을 작성하려면 로그인이 필요합니다.
정렬이 잘안되시면 news_order 이 varchar 로되어있으면 order by news_order*1 asc 로하시면 정렬될것입니다.
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
순서대로 1,2,3,4가 order이라는 각 컬럼에 값이있으면 업데이트문을 작성할때 한개씩 이동하고 순서저장을 눌렀을땐 제대로 들어가지만 위에 이미지처럼 3번째를 첫번째로 올려버리면 순서가 이상하게 꼬여서 값이 업데이트가되네요.. 이 방법을 해결하고싶은데 도저히 머리로는 정리가안되네요
while부분에 있는 sql문에 값을 제대로 넣어야되는데 이 방식이아닌거 같아서 힘드네요..
간단히 설명하면 페이지에서 순서를 변경한상태로 순서저장버튼을 누르면 위에 sql문이 실행되는데
tr위치가 두단계이상 위치를 변경하면 같이 다 밀려서 예상과 다른값으로 저장이되네요.