Php 是否为表格数据编辑和删除每行上的按钮?

Php 是否为表格数据编辑和删除每行上的按钮?,php,mysql,sql,database,html-table,Php,Mysql,Sql,Database,Html Table,我正在做一个电影库作为学校作业,并且有一个数据库表中的电影列表,我想在每一行旁边都有一个编辑和删除选项 我想使用编辑/删除链接。比如: "<a href='moviestorage.php?edit=" . $id . "'>Edit</a>" “” 但我不确定如何才能找到每部电影的id,以便将其从数据库中删除。我应该写什么问题?我需要一个单独的delete.php文件吗? 我是一个新手,所以请容忍我:) 下面你可以看到我所做的代码 <?php

我正在做一个电影库作为学校作业,并且有一个数据库表中的电影列表,我想在每一行旁边都有一个编辑和删除选项

我想使用编辑/删除链接。比如:

"<a href='moviestorage.php?edit=" . $id . "'>Edit</a>"
“”
但我不确定如何才能找到每部电影的id,以便将其从数据库中删除。我应该写什么问题?我需要一个单独的delete.php文件吗? 我是一个新手,所以请容忍我:) 下面你可以看到我所做的代码

 <?php 

        require 'connect.inc.php';

//This feels incomplete... I´m trying here to fish the ID...
        $id = "SELECT id from movies";
        $query = "DELETE FROM movies WHERE id='$id'";


        $query = "SELECT * FROM movies, categories WHERE movies.genre_id = categories.genre_id";
        $result = mysql_query($query);

        if (!$result) die ("Database access failed:" .mysql_error()) ;

        $rows = mysql_num_rows($result);

        echo '<table><tr><th>Title</th><th>Release year</th><th>Genre</th><th>Director</th><th>Update</th><th>Delete</th></tr>';

        for ($j = 0 ; $j < $rows ; ++$j) {
        echo '<tr><td>' . mysql_result($result,$j,'title') . '</td>' ;
        echo '<td>' . mysql_result($result,$j,'release_year') . '</td>' ;
        echo '<td>' . mysql_result($result,$j,'genre') . '</td>' ;
        echo '<td>' . mysql_result($result,$j,'director') . '</td>' ;
        echo '<td>'."<a href='edit_movie.php?edit=" . $id . "'>Edit</a>".'</td>' ;
        echo '<td>'."<a href='delete.php?delete=" . $id . "'>Delete</a>".'</td></tr>' ;

        }
        echo '</table>'; 

        include 'add_movie.php';
    ?>

我建议您为每一行使用一个带有“删除和编辑”按钮和带有ID的隐藏字段的表单。然后,您可以将该表单发布到正确的脚本中,并确定要在那里执行的操作


如果必须使用链接删除项目,至少让链接指向另一个确认页面,该页面包含用户必须提交的表单,并发布到您的删除脚本。

我建议您为每一行使用一个带有删除和编辑按钮的表单,以及一个带有ID的隐藏字段。然后,您可以将该表单发布到正确的脚本,并确定要在那里执行的操作


如果您必须使用链接来删除项目,至少让链接指向另一个确认页面,该页面包含用户必须提交的表单,并发布到您的删除脚本中。

如果您必须在新页面上编辑和删除,则可以这样放置超链接

  echo "<a href=\"edit.php?id=".mysql_result($result,$j,'id')."\"><strong>EDIT</strong>";

  echo "<a href=\"delete.php?id=".mysql_result($result,$j,'id')."\"><strong>delete</strong>";

如果您必须在新页面上编辑和删除超链接,希望它对您有用

  echo "<a href=\"edit.php?id=".mysql_result($result,$j,'id')."\"><strong>EDIT</strong>";

  echo "<a href=\"delete.php?id=".mysql_result($result,$j,'id')."\"><strong>delete</strong>";

希望它对您有用

如果您需要简单有效的解决方案,请使用datatables.)
请在谷歌搜索。花一些时间研究如何实现它,这将在将来节省大量时间。

如果您需要简单有效的解决方案,请使用datatables.)
请在谷歌搜索。花了一些时间研究如何实现它,这将在将来节省大量时间。

我当然希望在
delete.php
上有一个确认对话框。。。已知有一些用户代理可以“预取”页面以获取结果。始终通过
POST
进行更改,
GET
不应该更改数据(尽管它们当然可以稍后向您显示表单以
POST
)。我当然希望在
delete.php
上有一个确认对话框。。。已知有一些用户代理可以“预取”页面以获取结果。始终通过
POST
进行更改,
GET
不应该更改数据(尽管他们当然可以稍后向您显示表单以
POST
)。感谢您的评论!是的,也许我应该这么做!我应该把所有字段都放在一个表格中吗?或者后面的选项更好,让链接指向delete.php,其中有一个确认删除表单@jeroen@Karolina我会对每个条目/电影使用一个表单,而不是对所有字段使用一个表单。不管上一步是什么(按钮还是链接),确认步骤总是一个好主意。大家好,所以我只是尝试为删除按钮回显一个表单,并将value=“”.mysql_result($result,$j,'id')。“我不知道如何获取id,这不起作用。我在这里发布的代码中使用了很长时间,如果我必须将所有内容都更改为表单,我不知道该怎么做。所以我想我可以为按钮编辑和删除设置一个表单,并使用值=“'.mysql_result($result,$j,'id')”。错了吗?谢谢你的评论!是的,也许我应该这么做!我应该把所有字段都放在一个表格中吗?或者后面的选项更好,让链接指向delete.php,其中有一个确认删除表单@jeroen@Karolina我会对每个条目/电影使用一个表单,而不是对所有字段使用一个表单。不管上一步是什么(按钮还是链接),确认步骤总是一个好主意。大家好,所以我只是尝试为删除按钮回显一个表单,并将value=“”.mysql_result($result,$j,'id')。“我不知道如何获取id,这不起作用。我在这里发布的代码中使用了很长时间,如果我必须将所有内容都更改为表单,我不知道该怎么做。所以我想我可以为按钮编辑和删除设置一个表单,并使用值=“'.mysql_result($result,$j,'id')”。错了吗?谢谢你的回复!我刚刚尝试了你的代码,但无法运行:(我设法解决了删除按钮的问题,我做了一个带有隐藏字段的表单。但是我想我要做的是编辑选项的链接,该链接将指向编辑表单页面。我只是不知道如何让choosen ID跟随到编辑页面,以便表字段中的数据将填写到编辑表单中。我要走了g疯狂,因为我无法解决这个问题:(首先通过$id=$\u get['id']获取id非常容易;而不是在$result=mysql\u查询(“select*from table_name,其中id='$id'))中获取sql结果,并使用while($row=musql\u fetch\u assoc($result)){$id=$row['id']}而不是将结果回传到您必须使用的表单中。谢谢您的回复!我刚刚尝试了您的代码,但无法使其正常工作:(我设法解决了删除按钮的问题,我做了一个带有隐藏字段的表单。但是我想我要做的是编辑选项的链接,该链接将指向编辑表单页面。我只是不知道如何让choosen ID跟随到编辑页面,以便表字段中的数据将填写到编辑表单中。我要走了g疯狂,因为我无法解决这个问题:(首先通过$id=$\u get['id']获取id非常容易;而不是在$result=mysql\u查询(“select*from table_name,其中id=''id'))中获取sql结果,然后使用while($row=musql\u fetch\u assoc($result)){$id=$row['id']),而不是在必须使用的表单中回显结果
    $id = $_GET['id'];