2013-10-14 5 views
0

나는 PHP를 사용하여 데이터베이스의 행을 삭제하는 드롭 다운 메뉴와 버튼을 포함하고 있습니다. 드롭 다운 상자 (블로그 게시물 제목)에 표시된 값은 기본 키가 아니며 SQL 삭제 기능은 기본 키에서만 작동합니다. 어떻게 ID를 SQL 쿼리에 전달할 수 있지만 여전히 블로그 게시물의 제목을 표시 할 수 있습니까?PHP를 사용하여 sql 데이터베이스에서 행 삭제하기

은 다음과 같이 간단하게 <option>의 값을 넣어

<?php 

    $delete = $_POST['delete_submit']; 

    mysql_query("DELETE FROM blogpost WHERE BlogPostID=$delete"); 
    ?> 

    <section style="font-size: 22px; text-align: center;"> 
     <form action='admin.php' method='post' onsubmit="return confirm('Do you really want to delete this post?');"> 
      <p> 
       Delete Post:&nbsp; 
       <select name="delete"> 
        <option>Please select a post</option> 
        <?php 
        $result = mysql_query("SELECT BlogPostID, BlogPostTitle FROM blogpost ORDER BY BlogPostID DESC"); 
        while ($row = mysql_fetch_array($result)){ 
         $blogvar = array($row ['BlogPostID'], $row ['BlogPostTitle']); 
        ?> 
        <option><?php echo $blogvar[1]; ?></option> 
        <?php 
        }; 
        ?> 
       </select> 
       <p></p> 
       <input type='submit' class='button' name='delete_submit' value='Delete'/> 
      </p> 
     </form> 
    </section> 
+0

Fluffeh가 메커니즘을 제공했지만받은 값을 데이터베이스에 보내기 전에 위생 처리해야합니다. – Tarnation

답변

1

(예 내가 DB에 연결되어 할) :

<option value="1">Volvo</option> 

이 다음 1을 전송 (또는 ID) 여전히 이름을 표시합니다.

<option value="<?php echo $blogvar[0]; ?>"><?php echo $blogvar[1]; ?></option> 
+0

또한

+0

인 DB에 전송 된 경우 오류가 발생합니다. -1 값은 오류가 없어야합니다 아웃. 실제로 그 값을 가진 레코드가 없으면 아무것도 삭제하지 않아야합니다. –

+0

안녕하세요 내가 $ delete 변수에 옵션 태그에서 값 속성을 전달하는 방법을 삭제 변수를 할당하면 – rob1994

관련 문제