sql >> データベース >  >> RDS >> Mysql

mysqlテーブルのすべての行を表示してから、特定の行を削除するオプションを指定します

    フォームでそれを行うことができます:

    // main.php

    <?php $result = mysql_query("SELECT * FROM KeepScores"); ?>
    
    <table>
      <tr>
        <td>Recent Posts</td>
      </tr>
      <?php while($row = mysql_fetch_array($result)) : ?>
      <tr>
        <td><?php echo $row['field1']; ?></td>
        <td><?php echo $row['field2']; ?></td>
        <!-- and so on -->
        <td>
          <form action="delete.php" method="post">
            <input type="hidden" name="delete_id" value="<?php echo $row['id']; ?>" />
            <input type="submit" value="Delete" />
          </form>
        </td>
      </tr>
      <?php endwhile; ?>
    </table>
    

    // delete.php:

    <?php
    if(isset($_POST['delete_id'] && !empty($_POST['delete_id']))) {
      $delete_id = mysql_real_escape_string($_POST['delete_id']);
      mysql_query("DELETE FROM KeepScores WHERE `id`=".$delete_id);
      header('Location: main.php');
    }
    

    または、jQueryとAJAXを使用してそれを行うことができます:

    // main.php

    <?php $result = mysql_query("SELECT * FROM KeepScores"); ?>
    
    <table>
      <tr>
        <td>Recent Posts</td>
      </tr>
      <?php while($row = mysql_fetch_array($result)) : ?>
      <tr id="<?php echo $row['id']; ?>">
        <td><?php echo $row['field1']; ?></td>
        <td><?php echo $row['field2']; ?></td>
        <!-- and so on -->
        <td>
          <button class="del_btn" rel="<?php echo $row['id']; ?>">Delete</button>
        </td>
      </tr>
      <?php endwhile; ?>
    </table>
    
    <script>
      $(document).ready(function(){
        $('.del_btn').click(function(){
           var del_id = $(this).attr('rel');
           $.post('delete.php', {delete_id:del_id}, function(data) {
              if(data == 'true') {
                $('#'+del_id).remove();
              } else {
                alert('Could not delete!');
              }
           });
        });
      });
    </script>
    

    // delete.php

    <?php
        if(isset($_POST['delete_id'] && !empty($_POST['delete_id']))) {
          $delete_id = mysql_real_escape_string($_POST['delete_id']);
          $result = mysql_query("DELETE FROM KeepScores WHERE `id`=".$delete_id);
          if($result !== false) {
            echo 'true';
          }
        }
    

    すべてテストされておらず、特定のプロジェクトに合わせて調整する必要がありますが、アイデアは得られたと思います。お役に立てば幸いです。

    次回、データベースについて質問する場合は、スキーマを投稿してください。



    1. PostgreSQLデータベースの監視:監視対象のヒント

    2. SQLツリー階層を注文する

    3. OracleでONUPDATECASCADEを使用して外部キーを作成するにはどうすればよいですか?

    4. listaggデータを使用可能な形式に?