tr순서변경후 db에 저장

tr순서변경후 db에 저장

QA

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 } ?>

 

3696040806_1639379483.8339.png

3696040806_1639379505.0345.png

 

메인화면 부분입니다.

위 첫사진이 기본 화면이고 버튼이벤트로 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++;
}

 

3696040806_1639379595.5632.png

sql문 돌렸을때 한계단 1에서 2로 바꾸는건 정상적으로 바뀌는데 1번째를 3번째로 내리든가 2단계이상식 바꾸면 2번째 사진처럼안바뀌고 바로위 사진처럼 화면이 바껴요.. 값도 update로 예상과 다르게 들어가네요

이 질문에 댓글 쓰기 :

답변 1

몇일째 작업진행이 잘 안되시나 보군요

 

순서에 따른 넘버 전송 쿼리 부분을 체크해 보셔야 할듯 한데요

 

moveUp moveDown 할때 스크립트로 order[] 위 부분에 순서 값을 변경해서 적용해 주셔야 할듯 한데

 

위 순서 값이 제대로 적용되고 있는지 체크해 보셔야 할듯 합니다.

 

아니면 순서 변경시 그냥 해당 순서 위치코드를 눌러서 + - 해서 위치값을 바로 적용되게 처리해 주시거나 하셔야 합니다.

 

참고: https://sir.kr/g5_tip/5228

답변을 작성하시기 전에 로그인 해주세요.
전체 38
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT