1

クリック時にデータベースからレコードを削除したいのですが、これが私が試したことです:

delete.js

function oki(){
    mysql_query("DELETE FROM topics WHERE id='58'"); 
}

ボタン:

<script type="text/javascript" src="delete.js"></script>
<?php
    include_once("connect.php");
?>

<button onClick="oki();">Del</button>

これを行う方法がわかりません。さらに情報が必要な場合は教えてください。

4

6 に答える 6

1

リンクから削除したいだけで、ページのリロードなどを気にしない場合は、すでにここで回答されています:

PHPはリンクからmysql行を削除します

しかし、ボタンをクリックしたいように聞こえ、現在のページから移動せずに行を削除します。この場合、何らかの形式の ajax の使用を検討する必要があります。

十分なコードを提供していないため、アクションを実行した後に表示を更新することはできませんが、基本はおそらく次のようになります (テストされていません)

delete.php

<?php

include_once("connect.php");

if ($_GET['mode'] == 'delete') {
  $row_id = (int)$_POST['row_id'];
  mysql_query("DELETE FROM topics WHERE id=" . $row_id); 
}

?>

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1    /jquery.min.js"></script>
<script type="text/javascript">
  $(document).ready(function(){
    $('.delete-row').click(function() {
      $.post('delete.php?mode=delete', { row_id: $(this).data('row_id')}).done(function(data) {
        // Reload your table/data display
      });
    });
  });
</script>

<button class="delete-row" data-row_id="58">Delete</button>

mysql_ functions を使用しないことを強くお勧めします。代わりに PDO または MySQLi を使用してください。基本に戻って、PHP と JavaScript がどのように相互作用するかを学びましょう。

編集 (追加の OCD):

他のことも検討する必要があります。誰でも行を削除できますか? 特定のユーザーのみがアクセス許可を持つ必要がある場合は、現在ログインしているユーザーがその特定の行を削除する前に削除できることを確認する必要があります。

于 2013-08-31T10:05:44.267 に答える
0

これが私の解決策です:

 <?php
$query="select * from product limit ".$offset. " , " .$perpage;
$result=mysql_query($query);

?>
<center>
<table border="2">
<tr>
<th>Category Name</th>
<th>Product Name</th>
<th>Product Description</th>
<th>Product Image</th>
<th>Product Actual image</th>
<th>Product Discount</th>
<th>Product Selling Price</th>
<th>Update/Delete</th>
</tr>
<?php while ($row=mysql_fetch_array($result)){?>
<tr>
<td><?php echo $row['pro_catagory'];?></td>
<td><?php echo $row['pro_name'];?></td>
<td><?php echo $row['pro_des'];?></td>
<td><img src="Img/<?php echo $row['pro_image'];?>" width="100" height="100" ></td>
<td><?php echo $row['pro_actual'];?></td>
<td><?php echo $row['pro_dis'];?></td>
<td><?php echo $row['pro_price'];?></td>


<td<a href="delete.php?pid=<?php echo $row['pro_id'];?>">Delete</a></td>

?>

delete.php で

<?php
$con=mysql_connect('localhost','root','');
if(!$con)
{
die('could not connect' .mysql_error());
}
mysql_select_db("jaswinder", $con);
$Query="delete from product where pro_id=".$_REQUEST['pid'];
$result=mysql_query($Query);
?>
于 2015-10-08T05:33:09.933 に答える
0

PHP

$ids = array_map('intval', json_decode($_GET['id']));
mysql_query("DELETE FROM topics WHERE id in (" . implode(',', $ids) . ")");

およびjavascriptで(jQueryを使用)

function oki() {
    var checked = $('.row:checked');
    var ids = checked.map(function() { return $(this).val(); });
    $.get('delete.php', {id: JSON.stringify(ids)}, function(response) {
        checked.remove();
    });
}

あなたのhtmlは次のようになります

Row with id 10: <input type="checkbox" class="row" value="10"/>
Row with id 20: <input type="checkbox" class="row" value="20"/>
Row with id 30: <input type="checkbox" class="row" value="30"/>
Row with id 40: <input type="checkbox" class="row" value="40"/>
<button onClick="oki();">Del</button>
于 2013-08-31T10:02:44.213 に答える