2014-01-20 3 views
2

데이터베이스에서 게시물을 삭제하고 편집 할 수있는 기능을 사용하여 데이터베이스에서 모든 게시물을 테이블과 함께 표시하려고합니다. 그것은 내 코드입니다 :mysql에서 데이터를받는 테이블을 편집하고 삭제하는 방법은 무엇입니까?

<div id="addPost"> 
<table border="2"> 
    <tr> 
     <th>ID</th> 
     <th>Author Name</th> 
     <th>Author ID</th> 
     <th>Date</th> 
     <th>Title</th> 
     <th>Content</th> 
    </tr> 
    <tr> 
     <?php 
     // Check connection 
     if (!can_connectToDBwithConstant()) { 
      return FALSE; 
     } 
     // Create connection 
     $con = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME); 
     $query = mysqli_query($con, "SELECT ID,post_author_name,post_author_id,post_date,post_title,post_content FROM `wp_posts`"); 
      //php loop to load all post 
      while ($row = mysqli_fetch_array($query)): 
       $id = $row['ID']; 
       $authorName = $row['post_author_name']; 
       $authorID = $row['post_author_id']; 
       $date = $row['post_date']; 
       $title = $row['post_title']; 
       $content = $row['post_content']; 
     ?> 

     <td><?php echo $id; ?></td> 
     <td><?php echo $authorName; ?></td> 
     <td><?php echo $authorID; ?></td> 
     <td><?php echo $date; ?></td> 
     <td><?php echo $title; ?></td> 
     <td><?php echo $content; ?></td> 
     <td>Edit | Delete</td> 
    </tr> 
    <?php endwhile; mysqli_close($con); ?> 
</table> 

하는 문제 : 어떻게 우리가 그것을 편집하거나 삭제하는 게시물을 선택하는 것을 알고 내가 어떻게 할 수 있습니까??

+1

후 사용자는 "갱신"에의 데이터, 당신은 모든 데이터를 읽기를 할 때 테이블에서 새 데이터를 db에 넣습니다. 더 복잡한 방식으로 할 수 있습니다 (inputy가 변경되고 inputz이 변경된 다음 해당 값을 읽고 저장하는 경우). 제한된 수의 값만 있으면 읽고 쓰는 것이 아니라 무엇을 할 수 있습니까? – TimSPQR

답변

4

이 문제를 해결하는 데는 여러 가지 방법이 있습니다. 그 중 하나는 편집 및 삭제 레이블 또는 다른 요소 (td, tr 또는 이미 가지고있는 id 필드에서 값을 가져 오는 것입니다)입니다.

<td> 
    <button id="edit_<?php echo $id ?>">Edit</button> 
    <button id="delete_<?php echo $id ?>">Delete</button> 
</td> 

이로써 당신은 자바 스크립트 O를 jQuery를 사용하여 버튼의 id 값을 extrac 수 있습니다 여기에 (최고의 있지만 거래는이 것들로 무엇의 아주 명확한 아이디어를 줄 수는 없다) 매우 간단합니다.

1

매우 간단합니다.
주어진 ID로 게시물을 삭제 처리하려면 서버 쪽 PHP 스크립트가 있어야합니다. OOP를 사용하지 않는 경우와 마찬가지로 $ _GET 또는 $ _POST를 통해 삭제할 게시물의 ID를 얻은 다음 삭제 쿼리를 처리 한 다음 목록 페이지로 리디렉션하십시오.

<?php 
    // Check connection 
    if (!can_connectToDBwithConstant()) { 
     return FALSE; 
    } 
    // Create connection 
    $deleteID = $_GET['id']; 
    $con = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME); 
    $query = mysqli_query($con, "DELETE from TABLE_NAME where id_column = '".$deleteID."'"); 
header('Location: listin.php'); 
?> 


그리고 목록 코드

- 당신은 테이블의 모든 데이터를 넣어

<a href="www.hostname.com/process_delete.php?id=<?php echo $row["id"]; ?>" 
관련 문제