3

DBにあるアイテムのテーブルを作成しましたが、完全に出力されますが、出力しているデータの別の列に削除ボタンを追加したいと思います。

ただし、その方法がわかりません。各テーブルに一意のIDがあるので、それをIDとして使用できますか、それともボタンの名前として使用できますか?

<?php

//Start session
    //... all the connection stuff here


$result = mysql_query("SELECT * FROM feathermattresstoppers");

echo "<table border='1'>
<tr>
<th>name</th>
<th>old price</th>
<th>price</th>
<th>delete</th>
</tr>";

while($row = mysql_fetch_array($result))
  {
  echo "<tr>";
  echo "<td>" . $row['name'] . "</td>";
  echo "<td>" . $row['old_price'] . "</td>";
  echo "<td>" . $row['price'] . "</td>";
echo "<td>"<!-- how could I add a button here? -->"</td>";
  echo "</tr>";
  }
echo "</table>";

?>

どんな助けでもいただければ幸いです。

4

7 に答える 7

13

あなたのテーブルの前に:

<form action="" method="post">

テーブルの後でフォームタグを閉じます。

このコードを削除ボタンとして配置します。

echo '<td><button type="submit" name="deleteItem" value="'.$row['id'].'" />Delete</button></td>"';

PHPでは、次のことを行う必要があります

<?php

if(isset($_POST['deleteItem']) and is_numeric($_POST['deleteItem']))
{
  // here comes your delete query: use $_POST['deleteItem'] as your id
  // $delete = $_POST['deleteItem']
  // $sql = "DELETE FROM `tablename` where `id` = '$delete'"; 
}
?> 
于 2012-10-01T05:59:55.617 に答える
1

はい。ただし、このテーブルをフォームに入れる必要があります。クリックするとテーブル行のフォーム(チェックボックス)を送信するボタンを作成できます。チェックボックスIDはデータベース行からの一意のIDになり、送信されたIDを持つ行を削除するだけです。

于 2012-10-01T06:00:43.100 に答える
1

2つのアプローチ:

1.)テーブルの各行に小さなhtmlフォームをコーディングします。このフォームには、ボタンの横にある非表示の入力ファイルの行IDが含まれています。処理中のphpコードでは、削除する行のIDとともに削除ボタンが押されたという情報を取得します。

2.)javascriptを使用して動的な方法でコーディングします。次に、テーブルのすべての行に同じ削除ボタンをコーディングするだけです。さらに、短いjavascript関数をこれらすべてのボタンの「クリック」イベントにバインドします。クリックすると関数が呼び出され、ボタンの親要素を探してそのIDを読み取ることで、クリックされたボタンが属する行を識別できます。次に、そのIDをポストバックします。

于 2012-10-01T06:01:43.663 に答える
0

最も簡単な方法は、各trをフォームで囲み、一意のキーを非表示フィールドとして追加することです。

while($row = mysql_fetch_array($result))
{
echo '<form action="here_maybe" method="POST" >'
echo '<input name="row_id" type="hidden" value="'.$row['id'].'"/>'
echo "<tr>";
echo "<td>" . $row['name'] . "</td>";
echo "<td>" . $row['old_price'] . "</td>";
echo "<td>" . $row['price'] . "</td>";
echo "<td><input type="submit" value="Delete" name="delete_command"/></td>";
echo "</tr>";
echo "</form>"
}
于 2012-10-01T05:58:53.600 に答える
0

このコードを試してください、

<?php
//codes 
echo "<td><form name='frmDelete' action='your delete page here' method='post'><input type='hidden' name='itemid' value='{echo ID here}'><input type='submit' name='dlteBtn' value='delete'></form></td>";
//codes
?>

削除ページで

<?php
if(isset($_POST['dlteBtn'])){
 $id=$_POST['itemid'];
 //delete query for row with id,  $id
 }
?>
于 2012-10-01T06:02:12.227 に答える
0
while($row = mysql_fetch_array($result))
  {
  echo "<tr>";
  echo "<td>" . $row['name'] . "</td>";
  echo "<td>" . $row['old_price'] . "</td>";
  echo "<td>" . $row['price'] . "</td>";
echo "<td>"<a href="delete.php?<?php echo $row['id'];  ?>">delete</a></td>";

  echo "</tr>";
  }
echo "</table>";

?>

そしてあなたのdelete.phpで

if(isset($_REQUEST['id']) && is_numeric($_REQUEST['id']))
{
 //query for delete.
}

// w3cは、データベースからの取得以外の操作にはgetメソッドを使用すべきではないと言っているので、postを使用するのがより良い方法です。

于 2012-10-01T06:11:39.540 に答える
-1
    echo '<td><a href="yourpagename.php?delete=1&id='.$row["stud_no"].'"><button type="submit" style="font-weight:bold;" name="delete" class="btn btn-danger"><span class="glyphicon glyphicon-trash"></span> Delete</button></a></td>';

タグの中にボタンを入れることができます。そしてそれをカバーしてタグを付け、href属性にURLが表示されるページ名を入れることができます。delete = 1のように使用されるので、このボタンを設定して、ndがIDを格納することを示す&idを配置できます。そのため、同じページまたは次のページで、getまたはpostメソッドを使用してそのIDを取得できます。たとえば、id = $ row ['stud_no']を使用しました。これにより、クリックしたIDが表示されます。IDがURLに表示され、そのページまたは次のページで、$ id = $_POST['idを取得できます。 ']; これを行うことにより、$idでstud_noを取得できます。適切なIDを取得したかどうかを確認するには、$idをエコーし​​て確認します。

于 2018-12-22T07:52:34.813 に答える