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 පිටුවේ ආකෘතිය සැකසීම ක්‍රියාත්මක කරන්න.