PHP-তে ডাটাবেস এন্ট্রি সম্পাদনা

এখন আসুন ব্যবহারকারী সম্পাদনা বাস্তবায়ন করি। এর জন্য আমাদের দুটি পৃষ্ঠার প্রয়োজন হবে: পৃষ্ঠা edit.php, যেখানে সম্পাদনা ফর্ম থাকবে, এবং পৃষ্ঠা save.php, যেখানে ফর্ম জমা দেওয়া হবে সংরক্ষণের জন্য।

সম্পাদনা পৃষ্ঠা

প্রথমে edit.php পৃষ্ঠায় একটি ফর্ম তৈরি করি:

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

আমরা ডাটাবেস থেকে বর্তমান ব্যবহারকারীর ডেটা এই ফর্মে লোড করব। ধরি সম্পাদনার জন্য ব্যবহারকারীর id GET প্যারামিটারে পাঠানো হয়:

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

ব্যবহারকারী পেতে কুয়েরি তৈরি করি:

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

কুয়েরি এক্সিকিউট করি:

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

একটি ভেরিয়েবলে ব্যবহারকারীর ডেটা পাই:

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

আমাদের ফর্মে এই ডেটা দেখাই:

edit.php<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 পৃষ্ঠায় জমা হয়:

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

এক্ষেত্রে GET প্যারামিটার হিসেবে সম্পাদনার জন্য ব্যবহারকারীর id পাঠাব:

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

সংরক্ষণ পৃষ্ঠা

save.php পৃষ্ঠায় জমা দেওয়া ডেটা পাই:

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

আপডেট কুয়েরি তৈরি করি:

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

কুয়েরি এক্সিকিউট করি:

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

অপারেশনের সাফল্যের বার্তা দেখাই:

html<?php
  echo 'ব্যবহারকারী সফলভাবে পরিবর্তিত হয়েছে!';
?>

ব্যবহারিক কাজ

Задание 1

ব্যবহারকারী সম্পাদনার জন্য edit.php পৃষ্ঠা বাস্তবায়ন করুন।

Задание 2

সম্পাদনার ফলাফল সংরক্ষণের জন্য save.php পৃষ্ঠা বাস্তবায়ন করুন।

Задание 3

index.php পৃষ্ঠায় ব্যবহারকারীদের তালিকা দেখান যাতে প্রতিটি ব্যবহারকারীর জন্য তার সম্পাদনার লিঙ্ক থাকে:

html<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>
Задание 4

edit.php পৃষ্ঠায় ফর্ম প্রক্রিয়াকরণ বাস্তবায়ন করুন।