⊗ppPmDPDE 394 of 447 menu

PHPでのデータベースレコード編集

それでは、ユーザーの編集機能を実装してみましょう。 これには2つのページが必要です: ユーザー編集用のフォームが配置される ページedit.phpと、フォームが送信されて保存が行われる ページsave.phpです。

編集ページ

まず、ページedit.phpにフォームを作成します:

<form action="" method="POST"> <input name="name"> <input name="age"> <input name="salary"> <input type="submit"> </form>

このフォームには、データベースから取得したユーザーの現在のデータを 読み込みます。編集するユーザーのidGETパラメータで渡されるものとします:

<?php $id = $_GET['id']; ?>

ユーザーを取得するクエリを作成しましょう:

<?php $query = "SELECT * FROM users WHERE id=$id"; ?>

クエリを実行します:

<?php $result = mysqli_query($link, $query) or die(mysqli_error($link)); ?>

ユーザーデータを変数に取得します:

<?php $user = mysqli_fetch_assoc($result); ?>

これらのデータをフォーム内に表示します:

<form method="POST"> <input name="name" value="<?= $user['name'] ?>"> <input name="age" value="<?= $user['age'] ?>"> <input name="salary" value="<?= $user['salary'] ?>"> <input type="submit"> </form>

フォームのactionを、ページsave.phpに 送信されるように変更します:

<form action="save.php" method="POST">

この際、編集するユーザーのidGETパラメータとして渡します:

<form action="save.php?id=<?= $_GET['id'] ?>" method="POST">

保存ページ

ページsave.phpで、送信されたデータを取得します:

<?php $id = $_GET['id']; $name = $_POST['name']; $age = $_POST['age']; $salary = $_POST['salary']; ?>

更新用のクエリを作成します:

<?php $query = "UPDATE users SET name='$name', age='$age', salary='$salary' WHERE id=$id"; ?>

クエリを実行します:

<?php mysqli_query($link, $query) or die(mysqli_error($link)); ?>

操作成功のメッセージを表示します:

<?php echo 'ユーザーが正常に変更されました!'; ?>

実践的な課題

ユーザー編集用のページedit.phpを実装してください。

編集結果を保存するためのページsave.phpを実装してください。

ページindex.phpに、各ユーザーに対して 編集用リンクが付いたユーザーリストを表示してください:

<ul> <li>user1 <a href="?edit=1">edit</a></li> <li>user2 <a href="?edit=2">edit</a></li> <li>user3 <a href="?edit=3">edit</a></li> </ul>

ページedit.phpでのフォーム処理を実装してください。

日本語
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItalianoქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
当サイトでは、サイトの動作、分析、パーソナライゼーションのためにクッキーを使用しています。 データ処理はプライバシーポリシーに従って行われます。
すべて受け入れる 設定 拒否