私は間違ったことをしてきましたが、私はURIセグメントの値をとっていました。だから私は私のアプローチを変え、$ _POSTですべてを手に入れました。私はこれを正しくしているかどうか分からないが、誰かが光を当てることができるだろうか?私のビューには、DBから取り出された表データ項目が含まれています。各項目には、「表示」と「削除」という2つのリンクがあります。コードはうまくいくように見えますが、コード化できるかどうかは不思議でした。私はフォーム名が一意ではないことを忘れていたので、レコードを削除しようとすると、常に最新のレコードが削除されます(最後の隠しフィールドが設定されました)。
myview.php URI IDを経由して削除すると、完全に罰金です(スニペット)
<?php foreach($records as $record): ?>
<form method="POST" name="myform<?php echo $location->id;?>" action="/location/delete">
<a href="/location/view/<?php echo $location->id;?>">View</a> <a href="#" onclick="document.myform<?php echo $location->id;?>.submit();">Delete</a>
<br />
<input type="hidden" name="location_id" value="<?php echo $location->id;?>">
</form>
<?php endforeach ?>
'私はそれをすべて間違っています。あなたのアプリケーションが制御されている場合、URIセグメントを介して削除することは完全に実行可能な解決策です。あなたのコードでは '$ records as $ record'を使用していますが、' $ location'と呼ばれています.-右にはありません。 – Ross
と私は、将来の問題を避けるために 'base_url()'メソッドを使って絶対URLを使用しますサブフォルダなど..) – ifaour
なぜあなたのアプリケーションを少しajaxifyし、レコードを削除する非同期ポストリクエストを作るのですか?そうすれば、複数のフォームをまったく使用する必要はありません。 – Myth