PHP-da ma'lumotlar bazasidagi yozuvni tahrirlash
Keling, endi foydalanuvchini tahrirlashni amalga oshiramiz.
Buning uchun bizga ikkita sahifa kerak bo'ladi:
edit.php sahifasi, unda foydalanuvchini tahrirlash
uchun forma joylashadi, va save.php sahifasi,
unga forma keyinchalik saqlash uchun yuboriladi.
Tahrirlash sahifasi
Boshlanish uchun edit.php sahifasida
formani yasaymiz:
<form action="" method="POST">
<input name="name">
<input name="age">
<input name="salary">
<input type="submit">
</form>
Ushbu formaga biz ma'lumotlar bazasidan foydalanuvchining
joriy ma'lumotlarini yuklaymiz.
id foydalanuvchisi tahrirlash uchun
GET parametrida uzatilsin:
<?php
$id = $_GET['id'];
?>
Foydalanuvchini olish uchun so'rov tuzamiz:
<?php
$query = "SELECT * FROM users WHERE id=$id";
?>
So'rovni bajaramiz:
<?php
$result = mysqli_query($link, $query) or die(mysqli_error($link));
?>
Foydalanuvchi ma'lumotlarini o'zgaruvchiga olamiz:
<?php
$user = mysqli_fetch_assoc($result);
?>
Ushbu ma'lumotlarni formada chiqaramiz:
<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>
Formaning action ni o'zgartiramiz, shunda u
save.php sahifasiga yuboriladi:
<form action="save.php" method="POST">
Bunda GET parametri sifatida tahrirlash uchun
foydalanuvchi id si uzatilsin:
<form action="save.php?id=<?= $_GET['id'] ?>" method="POST">
Saqlash sahifasi
save.php sahifasida yuborilgan
ma'lumotlarni olamiz:
<?php
$id = $_GET['id'];
$name = $_POST['name'];
$age = $_POST['age'];
$salary = $_POST['salary'];
?>
Yangilash uchun so'rov tuzamiz:
<?php
$query = "UPDATE users SET
name='$name', age='$age', salary='$salary'
WHERE id=$id";
?>
So'rovni bajaramiz:
<?php
mysqli_query($link, $query) or die(mysqli_error($link));
?>
Amalning muvaffaqiyatli bajarilganligi haqida xabar chiqaramiz:
<?php
echo 'foydalanuvchi muvaffaqiyatli o\'zgartirildi!';
?>
Amaliy vazifalar
Foydalanuvchini tahrirlash uchun edit.php sahifasini amalga oshiring.
Tahrirlash natijasini saqlash uchun save.php sahifasini amalga oshiring.
index.php sahifasida foydalanuvchilar
ro'yxatini har bir foydalanuvchi uchun uning
tahrirlash havolasi bo'lishi shaklida chiqaring:
<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 sahifasidagi formani qayta ishlashni amalga oshiring.