2017-09-14 10 views
0

私は、list_productショーリスト製品の機能を作成します。

リスト製品の各商品にボタンdeleteがあります。

しかし、私は$idを削除できません。

リストデータベースの行を削除する方法はありますか?

My機能ルックのような:

<?php 

function product_list() { 
    ?> 
    <div class="wrap"> 
     <?php 
     global $wpdb; 
     $table_name = $wpdb->prefix . "product"; 
     if (isset($_POST['delete'])) { 
      $wpdb->query($wpdb->prepare("DELETE FROM $table_name WHERE id = %s", $id)); 
     } else { 
      $rows = $wpdb->get_results("SELECT id,name from $table_name"); 
     } 
     ?> 
     <table> 
      <tr> 
       <th>ID</th> 
       <th>Name</th> 
      </tr> 
      <?php foreach ($rows as $row) { ?> 
       <tr> 
        <td><?php echo $row->id; ?></td> 
        <td><?php echo $row->name; ?></td> 
        <td><a href="<?php echo admin_url('admin.php?page=product_update&id=' . $row->id); ?>">Cập nhật</a></td> 
        <td><input type='submit' name="delete" value='Delete' class='button' onclick="return confirm('&iquest; Confirm Delete?')"></td> 
       </tr> 
      <?php } ?> 
     </table> 
    </div> 
    <?php 
} 

感謝。

+0

$ _POST変数の代わりに$ _GET変数を使用してみましたか? $ _GET ['id'] $ row-> idの代わりに –

+0

$行 - > IDを書き込みます –

答えて

0

私は実際にPHPの専門家ではありませんが、私はここで何が起こっていると思います。
$id変数はどこにも送信していません。また、コードにはフォームがありません。あなたはJSの投稿を使用していないので、投稿はありません。

次のコードを試してください。

<?php 

function product_list() { 
    ?> 
    <div class="wrap"> 
     <?php 
     global $wpdb; 
     $table_name = $wpdb->prefix . "product"; 
     if(isset($_POST['row_id'])){ 
      $id = $_POST['row_id']; 
      $id = $id[0]; 
     }else{ 
      $id = ''; 
     } 
     if (isset($_POST['delete'])) { 
      $wpdb->query($wpdb->prepare("DELETE FROM $table_name WHERE id = %s", $id)); 
     } else { 
      $rows = $wpdb->get_results("SELECT id,name from $table_name"); 
     } 
     ?> 
<form method="post"> 
     <table> 
      <tr> 
       <th>ID</th> 
       <th>Name</th> 
      </tr> 
      <?php foreach ($rows as $row) { ?> 
       <tr> 
        <td><?php echo $row->id; ?></td> 
        <td><?php echo $row->name; ?></td> 
        <td><a href="<?php echo admin_url('admin.php?page=product_update&id=' . $row->id); ?>">Cập nhật</a></td> 
        <td> 
         <input type="hidden" name="row_id[]" value="<?php echo $row->id; ?>"> 
         <input type='submit' name="delete" value='Delete' class='button' onclick="return confirm('&iquest; Confirm Delete?')"> 
        </td> 
       </tr> 
      <?php } ?> 
     </table> 
</form> 
    </div> 
    <?php 
} 
関連する問題