tr순서변경후 db에 저장
본문
아까 소스한번올렸는데 전체적으로 다시올려요 죄송합니다..
$sql="select * from news where hotnews='1' order by news_order asc";
$hot=sql_query($sql);
<?php $i=1; ?>
<?php while($row=sql_fetch_array($hot)){ ?>
<tr>
<td><input type="checkbox" name="n_num" value="<?php echo $row['n_num'] ?>" class="del_chk" /></td>
<td><?php echo $i++; ?></td>
<td><?php echo $row['news_title'] ?></td>
<td><img id="thumbnail" width="70px;" height="70px"; src="./img/<?php echo $row['thumbnail'] ?>"/><?php echo $row['news_order'] ?></td>
<input type="hidden" name="order[]" value="<?php echo $row['news_order']; ?>"/>
<td>
<button type="button" onclick="moveUp(this)">▲</button>
</td>
<td>
<button type="button" onclick="moveDown(this)">▼</button>
</td>
</tr>
<?php } ?>
메인화면 부분입니다.
위 첫사진이 기본 화면이고 버튼이벤트로 tr에 위치를 변경시키고 순서변경 버튼을 누르면 값이 이상하게 넘어갑니다 값을 받는부분은 아래 코드입니다.
$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++;
}
sql문 돌렸을때 한계단 1에서 2로 바꾸는건 정상적으로 바뀌는데 1번째를 3번째로 내리든가 2단계이상식 바꾸면 2번째 사진처럼안바뀌고 바로위 사진처럼 화면이 바껴요.. 값도 update로 예상과 다르게 들어가네요
답변 1
몇일째 작업진행이 잘 안되시나 보군요
순서에 따른 넘버 전송 쿼리 부분을 체크해 보셔야 할듯 한데요
moveUp moveDown 할때 스크립트로 order[] 위 부분에 순서 값을 변경해서 적용해 주셔야 할듯 한데
위 순서 값이 제대로 적용되고 있는지 체크해 보셔야 할듯 합니다.
아니면 순서 변경시 그냥 해당 순서 위치코드를 눌러서 + - 해서 위치값을 바로 적용되게 처리해 주시거나 하셔야 합니다.