我有这个HTML表,其中包含来自MySQL数据库的数据和用于在此表中添加/编辑行的表单。如果我添加新行,一切正常,但是当我想编辑时,我不知道如何预填这个表单中的输入文本字段。我有特定行的id保存为每个编辑按钮的ID,但我不知道如何从这个单击按钮知道ID。我应该用PHP或JS吗?
<table class="table table-striped">
<thead>
<tr>
<th> Poradi</th>
<th> Jmeno</th>
<th> Prijmeni</th>
<th> Adresa</th>
<th> Mesto</th>
<th> Telefon</th>
<th> Email</th>
</tr>
</thead>
<tbody>
<?php
$db = new PDO(
"mysql:host=localhost;dbname=xyz",
"xyz",
"xy"
);
$stmp = $db->prepare("SELECT * FROM user");
$stmp->execute();
$data = array();
while ($row = $stmp->fetch()) {
$data[]=($row);
echo "<tr>
<td>" . $row['id'] . "</td>
<td>" . $row['login'] . "</td>
<td>" . $row['password'] . "</td>
<td>" . $row['name'] . "</td>
<td>" . $row['surname'] . "</td>
<td>" . $row['address'] . "</td>
<td>" . $row['city'] . "</td>
<td>" . $row['phone'] . "</td>
<td>" . $row['email'] . "</td><td>";
$id = $row['id'];
echo "<a><i class='glyphicon glyphicon-pencil' id=$id></i></a></td>
</tr>";
}
?>
</tbody>
</table>
</div>
<div class="sideMenu">
<form method="post" class="form-group" action="add.php">
<h1>Pridat servis</h1>
<input type="text" name="name" placeholder="Jmeno" required autofocus>
<input type="text" name="surname" placeholder="Prijmeni" required>
<input type="text" name="address" placeholder="Adresa" required>
<input type="text" name="city" placeholder="Mesto" required>
<input type="tel" name="phone" placeholder="Telefon" required>
<input type="email" name="email" placeholder="Email" required>
<div class="btn-toolbar">
<button class="btn" type="submit">Ulozit</button>
<button class="btn" type="button">Zrusit</button>
</div>
</form>
<div class="icon-close">
<img src="http://s3.amazonaws.com/codecademy-content/courses/ltp2/img/uber/close.png">
</div>
</div>
答案 0 :(得分:0)
我开始时就在同一页上。
你应该使用
echo "<a href=\"edit.php?id=".$row['id']."\"><i class='glyphicon glyphicon-pencil' id=$id></i></a>
在edit.php上,您将使用$ _GET [&#39; id&#39;]来获取点击元素的ID。
答案 1 :(得分:0)
您需要告诉您脚本要编辑的记录。
最好的方法是将href添加到编辑锚点。
echo "<a href="/url/to/this/script?id=$id"><i class='glyphicon glyphicon-pencil' id=$id></i></a></td>
现在刷新后,您可以通过以下方式获取要编辑的记录的ID:
// this way provide some base security
$id = filter_input(INPUT_GET, 'id', FILTER_SANITIZE_NUMBER_INT);
// Now get record from database (only sample call - need to build prepare statement)
$record = $database->getRecordById($id);
// After that fill form with record data
<input type="text" name="name" placeholder="Jmeno" value="<?php $record->name ?>" required autofocus>
答案 2 :(得分:0)
我找到了一个我正在寻找的解决方案。来自这里的人的建议是正确的,以防万一你不介意从你的网站重定向。
如果有可能,我想用jQuery动态地完成它,并且我已经找到了这个对我有用的解决方案,所以我在这里分享。