PHPда БДда ёзувни таҳрирлаш
Келинг, энди фойдаланувчини таҳрирлашни амалга оширамиз.
Бунинг учун бизга иккита саҳифа керак бўлади: саҳифа
edit.php, у ерда фойдаланувчини таҳрирлаш учун
шакл жойлашади, ва саҳифа
save.php, унга шакл keyin сақлаш учун
юборилади.
Таҳрирлаш саҳифаси
Бошлаш учун 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 саҳифасида шаклни қайта ишлашни амалга оширинг.