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 барагында иштеткиле.