PHP-də Verilənlər Bazasında Yazının Redaktə Edilməsi
Gəlin indi istifadəçinin redaktə edilməsini həyata keçirək.
Bunun üçün bizə iki səhifə lazımdır: istifadəçinin redaktə edilməsi
üçün formanın yerləşəcəyi edit.php səhifəsi və forma
yığımından sonra saxlanılması üçün göndəriləcək save.php
səhifəsi.
Redaktə Səhifəsi
Əvvəlcə edit.php səhifəsində forma hazırlayaq:
<form action="" method="POST">
<input name="name">
<input name="age">
<input name="salary">
<input type="submit">
</form>
Bu forma bizə verilənlər bazasından istifadəçinin cari məlumatlarını
yükləyəcək. Redaktə üçün istifadəçinin id-si GET
parametrində ötürülsün:
<?php
$id = $_GET['id'];
?>
İstifadəçinin alınması üçün sorğu quraq:
<?php
$query = "SELECT * FROM users WHERE id=$id";
?>
Sorğunu yerinə yetirək:
<?php
$result = mysqli_query($link, $query) or die(mysqli_error($link));
?>
İstifadəçi məlumatlarını dəyişənə əldə edək:
<?php
$user = mysqli_fetch_assoc($result);
?>
Bu məlumatları formamızda çıxaraq:
<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>
Formanın action-un dəyişirik ki, save.php
səhifəsinə göndərilsin:
<form action="save.php" method="POST">
Bununla GET parametri ilə redaktə üçün istifadəçinin
id-si ötürülür:
<form action="save.php?id=<?= $_GET['id'] ?>" method="POST">
Saxlama Səhifəsi
save.php səhifəsində göndərilən məlumatları əldə edək:
<?php
$id = $_GET['id'];
$name = $_POST['name'];
$age = $_POST['age'];
$salary = $_POST['salary'];
?>
Yeniləmə sorğusu quraq:
<?php
$query = "UPDATE users SET
name='$name', age='$age', salary='$salary'
WHERE id=$id";
?>
Sorğunu yerinə yetirək:
<?php
mysqli_query($link, $query) or die(mysqli_error($link));
?>
Əməliyyatın uğuru haqqında mesaj çıxadaq:
<?php
echo 'istifadəçi uğurla dəyişdirildi!';
?>
Praktiki Tapşırıqlar
İstifadəçinin redaktə edilməsi üçün edit.php səhifəsini həyata keçirin.
Redaktə nəticəsinin saxlanması üçün save.php səhifəsini həyata keçirin.
index.php səhifəsində hər bir istifadəçi üçün onun redaktə edilməsi
linki olmaqla istifadəçilərin siyahısını ekranda çıxarın:
<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>
Formanın edit.php səhifəsində emalını həyata keçirin.