ჩანაწერის რედაქტირება PHP-ში ბაზაში
ახლა მოდით, რომ განვახორციელოთ მომხმარებლის რედაქტირება.
ამისათვის დაგვჭირდება ორი გვერდი: გვერდი
edit.php, სადაც განთავსდება
მომხმარებლის რედაქტირების ფორმა, და გვერდი
save.php, სადაც ფორმა გაიგზავნება
შემდგომი შენახვისთვის.
რედაქტირების გვერდი
პირველ რიგში, გვერდზე edit.php შევქმნათ
ფორმა:
<form action="" method="POST">
<input name="name">
<input name="age">
<input name="salary">
<input type="submit">
</form>
ამ ფორმაში ჩავტვირთავთ მიმდინარე მონაცემებს
მომხმარებლის შესახებ მონაცემთა ბაზიდან. მოდით id მომხმარებლის
რედაქტირებისთვის გადაეცეს GET
პარამეტრში:
<?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">
ამ შემთხვევაში GET პარამეტრით გადავცემთ
მომხმარებლის id რედაქტირებისთვის:
<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.