0

PHP を使用して、PostgreSQL システムからテーブルを生成しています。ユーザーは、テーブル内の行を削除するオプションを使用できる必要があるため、「削除しますか?」というメッセージを作成しました。表の最後の列のボタン オプション。

ボタンは次のようになります。

 echo '<td> <input type="submit" name="'.$row['language'].'" value="Delete?" class="odd" />';

したがって、ボタンはその行の言語で name 属性を取得します。

2 つの問題があります。 1. 最も重要なことは、このフィールドにアクセスする方法がわかりません。最初は、name = _$POST['name'] などの POST 経由で取得できると考えていましたが、行に対応する特定のボタンを取得するには「言語」フィールドが必要です。理解していただければ幸いです... 明確にするために、クエリが出力されるまで、html 属性名は生成されません。そして、delete.php でアクセスするには name 属性を知る必要があります。

  1. ボタンから削除する言語の名前を取得できたとしても、データベースに同じ名前の他の言語が他の属性を持つ可能性があるため、削除時にそれらを削除したくないつまり、テーブルの特定の行からさらに情報が必要です。では、より多くの情報を渡すにはどうすればよいでしょうか。

非表示のフィールドを検討してきましたが、すべての情報をどのように生成し、それをどのように delete.php ファイルに渡すかがわかりません。

他にも提案があれば、私はそれらを受け入れます。

4

2 に答える 2

1

これに対する最も一般的な解決策は、最後の列にリンクを配置し、そのリンクで削除する行の ID を渡すことです。

リンクは次のようになります。

<a href="delete.php?id=rowid>delete</a>

行 ID ごとに異なるリンクが必要なため、sumbit は使用しないでください。

于 2012-09-30T22:06:35.657 に答える
0

あなたのテーブルには、自動インクリメントする整数の主キーがありますか? その場合は、単純にそのidフィールドをname属性に使用できます。したがって、テーブルが次のようになっている場合:

id | language
---+---------
 1 | English
 2 | French
 3 | C
 4 | にほんご
 5 | foobar

出力の 1 行は次のようになります。

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

ただし、これはフォームのターゲットによって異なります。削除と編集ができると期待されていますか? 確認を求める GET データを使用してリンクを作成すると、少しクリーンになり、悪用される可能性が低くなります。

于 2012-09-30T22:33:02.993 に答える