채택완료

php 게시판 전체수정

게시판에 키워드 정보 날짜등 을 나타내주는 페이지 입니다.

 

폼으로 추가할때마다 하나식 추가되는 구조인데 내가 있는 페이지 전체를 수정하는 기능을 만들고 싶습니다. 

 

 

 

Copy
<form action="'product_multipleupdate.php'.php" method="POST"> 

                     <?php

                         while($row=mysqli_fetch_array($result))  {  

                    $count++;  

                ?>

                <form action="product_update.php" method="POST" id=main_form>

                <tr>

                    <input type="hidden" name="plat" value="네이버"><input type="hidden" name=userno value="<?php echo $row['userno'] ?>">

                    <td><center><label style="width:50px;"><?php echo $count; ?><label></center></td>

                    <td><center><input type="text" class=update_form_text name="keyword[<?=$row['userno']?>]" value="<?php echo $row['keyword'] ?>"></center></td>

                    <td><center><input type="text" class=update_form_text name="option[<?=$row['userno']?>]" value="<?php echo $row['option'] ?>"</center></td>

                                      

                    <td><center><input type="text" class=update_form_text name="open_date[<?=$row['userno']?>]" value="<?php echo $row['open_date'] ?>"</center></td>

                    <td><center><input type="text" class=update_form_text name="end_date[<?=$row['userno']?>]" value="<?php echo $row['end_date'] ?>"</center></td>

                    <td><center><input type="submit" value="수정" onclick="javascript:form.action='product_update.php?userno=<?php echo $row['userno']?>';"/>

                   <input type="submit" value="삭제" onclick="javascript:form.action='product_delete.php?userno=<?php echo $row['userno']?>';"/>   

                    

                    </center></td>

                     

                </tr>

                <?php

                  }

 

                ?>

                

            </table>

 

                <input type="submit"  value="전체 수정" style="margin-right:-980px;" onclick="javascript:form.action='product_multipleupdate.php'">

                  </form>

이게 앞쪽 코드이고 

 

뒤는 

 

Copy
session_start();

$userno=$_POST['userno'];

$userid=$_SESSION['userid'];

$keyword=$_POST['keyword'];

$option=$_POST['option'];


 

if($keyword==null){

    ?>

        <script>

            history.back();

        </script>

 

    <?php

}




 

for($i=0;$i<sizeof($keyword);$i++){


 

    $sql="UPDATE product SET keyword='$keyword[$i]' `option`='$option[$i]' where userno='$userno[$i]'";

 

    $result=mysqli_query($connect,$sql);

}

 

if($result){

 

    ?>

    <script>

        history.back();

 

뒤쪽 mysqli 코드입니다. 폼을 while문 밖에있어서 정보를 넘기는거까진 했는데 매칭? 시키는 방법을 모르겠습니다...  페이지의 정보들을 전부다 쓰고 버튼하나로 모든 정보들을 한꺼번에 변경하는 방법이 뭐가있을까요 ?ㅠㅠ 

 

 

 

|

답변 2개 / 댓글 1개

채택된 답변
+20 포인트

<form>,<form>,</form>이렇게 되어 있는데 잘못 되었네요.

         <form action="'product_multipleupdate.php'.php" method="POST"> 
<table>
            <?php   while($row=mysqli_fetch_array($result))  {  
                    $count++;  
                ?><tr>
                    <input type="hidden" name="plat[<?php echo $row['userno']?>]" value="네이버"><input type="hidden" name=userno value="<?php echo $row['userno'] ?>">
                    <td><center><label style="width:50px;"><?php echo $count; ?><label></center></td>
                    <td><center><input type="text" class=update_form_text name="keyword[<?=$row['userno']?>]" value="<?php echo $row['keyword'] ?>"></center></td>
                    <td><center><input type="text" class=update_form_text name="option[<?=$row['userno']?>]" value="<?php echo $row['option'] ?>"</center></td>
                                      
                    <td><center><input type="text" class=update_form_text name="open_date[<?=$row['userno']?>]" value="<?php echo $row['open_date'] ?>"</center></td>
                    <td><center><input type="text" class=update_form_text name="end_date[<?=$row['userno']?>]" value="<?php echo $row['end_date'] ?>"</center></td>
                    <td><center><input type="submit" value="수정" onclick="javascript:form.action='product_update.php?userno=<?php echo $row['userno']?>';"/>
                   <input type="submit" value="삭제" onclick="javascript:form.action='product_delete.php?userno=<?php echo $row['userno']?>';"/>   
                    </center></td>
                </tr>
                <?php
                  }
                ?>
            </table>
                <input type="submit"  value="전체 수정" style="margin-right:-980px;" onclick="javascript:form.action='product_multipleupdate.php'">
                  </form>

 

action_url에서는

foreach(  $keyword as $i=>$value) {
    $sql="UPDATE product SET keyword='$keyword[$i]' `option`='$option[$i]' where userno='$value'  ";
    $result=mysqli_query($connect,$sql);
}

답변에 대한 댓글 1개

매번 답글을 성의껏 달아주셔서 정말 너무 감사드립니다.. 좋은 일 가득하셨으면 좋겠습니다
$keyword 이게 배열이면 foreach로 해보세요 포문으로 안돌려도 될것 같아요 

그리고 그누보드는 sql_query로 이렇게 씁니다.. mysqli 따로 쓸일은 없어요 아주 특별한 상황이 아니고선 그누보드에서 제공되는 함수 쓰는게 바람직해요 

 

배열도 print_r2()로 돌려서 찍어보세요 배열이 제대로 나오는지.. 

답변을 작성하려면 로그인이 필요합니다.