0

削除ボタンをクリックして行を削除できるテーブルを作成しようとしています。私はいくつかの助けを提供した次のリンクでここに記事を見つけましたが、私はまだそれを機能させることができません: mysql テーブルのすべての行を表示し、特定のものを削除するオプションを与えます。 delete.php ページの 10 行目に問題があります。アイデア?

Main.php

$result = mysqli_query($con,"SELECT * FROM cs_general_info");

echo "<table><tr><td>Delete</td><td>First Name</td><td>Last Name</td><td>Address</td>td>Phone</td><td>E-Mail Address</td></tr>";

while($row = mysqli_fetch_array($result)) {

?>

<tr>
<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>

<?php

  echo "<td>" . $row['id'] ."</td>";
  echo "<td>" . $row['first_name'] . "</td>";
  echo "<td>" . $row['last_name'] . "</td>";
  echo "<td>" . $row['address'] . "</td>";
  echo "<td>" . $row['phone'] . "</td>";
  echo "<td>" . $row['email'] . "</td></tr>";

}

echo "</table>";

削除.php

"DELETE FROM cs_general_info WHERE id=".mysql_real_escape_string($delete_id);
4

4 に答える 4

0

うまくいけばdelete.php、その一行以上です。あなたはメソッドと;delete.phpをキャッチしたいと思うでしょう。バインドしてから削除します。POST$row[id]

于 2013-03-13T16:50:22.243 に答える
0

ファイルで削除する行の ID を取得するには、次のdelete.phpように変数を取得する必要があります。

$delete_id = $_POST['delete'];

警告: これは、これを機能させるために必要な非常に基本的な機能です。ただし、これが製品コードに入る前に、他の多くのレベルのセキュリティを実装する必要があります。

于 2013-03-13T16:51:49.407 に答える
0

それがあなたdelete.phpの場合、あなたは多くを逃しています。データベース接続が必要SQLで、データベースに対してコマンドを実行する必要があります。しかし、 を介してパラメータを取得するまでは、心配はほとんどありません$_POST

PDOデータベースへの接続とSQL実行のマニュアルはこちらです。

そして、こちらが のマニュアルです$_POST

于 2013-03-13T16:52:04.067 に答える
0

テーブルの各行にリンクまたはインライン フォームを配置し、指定した行を削除してユーザーをページに戻すスクリプトを作成します。

<table>
  <tbody>
<?php foreach ($results as $result): ?>
    <tr>
      <td><?php echo $result->title; ?></td>
      <td>
        <form action="delete.php" method="post">
          <input type="hidden" name="id" value="<?php echo $result->id; ?>" />
          <input type="submit" value="Delete" />
        </form>
      </td>
    </tr>
<?php endforeach; ?>
  </tbody>
</table>

そしてdelete.php :

<?php

if (isset($_POST['id']) && intval($_POST['id']) > 0) {
    // create PDO instance; assign it to $db variable
    $sql = "DELETE FROM `table` WHERE `id` = :id LIMIT 1";
    $smt = $db->prepare($sql);
    $smt->bindParam(':id', $_POST['id'], PDO::PARAM_INT);
    $smt->execute();
}

header('Location: index.php');
于 2013-03-13T16:54:55.110 に答える