如何填写表单中的输入字段与我要编辑的html表中的行数据

时间:2014-12-25 17:33:33

标签: javascript php jquery html mysql

我有这个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>

3 个答案:

答案 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动态地完成它,并且我已经找到了这个对我有用的解决方案,所以我在这里分享。

jQuery: Get the contents of a table row with a button click