来自MySQL数据库的数据 - 编辑条目

时间:2015-08-21 16:09:17

标签: php html mysql

我希望有人可以帮我解决一个小问题。我不知道如何解决这个问题。对于使用MySQL和PHP的人来说,我想这应该很容易解释。无论如何,这就是我需要的:

我用PHP创建了一个管理界面。在管理界面内,我有一个包含数据库条目的表。所以在表格中我可以看到每个用户的ID,用户名,名字,姓氏等。

enter image description here

现在在右侧,您可以看到文字“Bearbeiten”,意思是“编辑”英文。如果我点击编辑,我会被重定向到我的编辑页面。问题是,edit.php对每个用户都是一样的。我现在想要的是,如果我点击“Bearbeiten”,我将被转发到edit.php,但我能够在那里编辑特定用户。

例如,如果我点击用户ID为1的行中的“ Bearbeiten ”,那么我希望将其重定向到edit.php?id=1,以便我只能进行编辑选定的个人资料。

有人能帮助我吗?在我的代码中我需要做什么? 我真的很感谢你的帮助!

编辑:

以下是用户概述网站上的表格代码:

<table class="table table-striped responsive-utilities jambo_table bulk_action">
                                        <thead>
                                            <tr class="headings">

                                                <th class="column-title">ID </th>
                                                <th class="column-title">Schule</th>
                                                <th class="column-title">Vorname </th>
                                                <th class="column-title">Nachname </th>
                                                <th class="column-title">Registriert am </th>
                                                <th class="column-title">Aktiv </th>
                                                <th class="column-title no-link last"><span class="nobr">Profil</span>
                                                </th>
                                                <th class="bulk-actions" colspan="7">
                                                    <a class="antoo" style="color:#fff; font-weight:500;">Mehrfachauswahl ( <span class="action-cnt"> </span> ) <i class="fa fa-chevron-down"></i></a>
                                            </th>
                                </tr>
                            </thead>
                            <?php while ($row = $erg->fetch_assoc()) { ?> 
                            <tbody>
                                <tr class="even pointer">
                                    <td class=" "><?php echo $row['id']; ?></td>
                                    <td class=" "><?php echo $row['schule']; ?></td>
                                    <td class=" "><?php echo $row['firstname'];?></td>
                                    <td class=" "><?php echo $row['lastname']; ?></td>
                                    <td class=" "><?php echo $row['registration']; ?></td>
                                    <td class="a-right a-right "><?php echo $row['active']; ?></td>
                                    <td class=" last"><a href="edit_profil_teacher.php?id=<?php echo $id; ?>">Bearbeiten</a>
                                                    </td>
                                            </tr>           
                            <?php } ?>

                             </tbody>
                            <?php $erg->close(); ?> 
                                    </table>

以下是我在编辑页面顶部输入的内容:

<?php
$user_id = (int)$_GET['id'];
?>

现在问题是用户概述页面上的URL已更改为edit.php?id =但就是这样。它没有选择正确的ID。我错过了什么?

谢谢, 克里斯

3 个答案:

答案 0 :(得分:1)

假设在列表页面中您循环使用mysql结果生成HTML,您需要将id添加到锚标记href标记。

代码已更改为使用提供的编码的$ row ['id']。

在“Bearbeiten”的链接上更改:

<a href="edit.php">Bearbeiten</a>

为:

<a href="edit.php?id=<?php echo $row['id']; ?>">Bearbeiten</a>

将$ id更改为您为ID列调用PHP变量的任何内容,然后在edit.php页面上,您可以从数据库中提取该用户ID的用户详细信息。

答案 1 :(得分:0)

<a href="edit.php?id=<?php echo $id; ?>">Bearbeiten</a>

然后在顶部的edit.php页面中:

$user_id = (int)$_GET['id'];

希望有所帮助。

答案 2 :(得分:0)

就像成员已经建议的那样,把它放在一个循环中,如:

<?php
 while($row=$stmt->fetch(PDO::FETCH_ASSOC))
 { 
    $id = $row['ID'];
    $name = $row['Name Eleternteil'];

?>
<td><?php echo $id; ?></td>
<td><?php echo $name; ?></td>
<td><a href="edit.php?id=<?php echo $id; ?>">Bearbeiten</a></td>
<?php } ?>

本承载带您进入下一页,使用唯一的ID,然后在edit.php上获取ID,只需使用以下内容即可执行任何操作:

<?php
    $edit = $_GET['id'];
?>