为了账号安全,请及时绑定邮箱和手机立即绑定

使用按钮删除作为两个表组合的行

使用按钮删除作为两个表组合的行

PHP
Helenr 2022-07-22 19:08:11
基本上就是标题所说的。表显示脚本和 sql 查询的结果在 html 页面上创建了组合来自 SQL 服务器的两个表的表。我们的任务是在显示的每一行旁边创建名为“删除”的按钮。问题是书籍说和其他用户正在使用带有 $row[ID] 的 a href,这只是一个参数。我需要“提取”两个参数以传递给 delete.php 以识别两个表中的行。然后是第二个“POST”选项 if(isset($_POST))... 但这也只能提取一个值。有人可以传递一些关于如何“识别”行上的值、按下按钮的位置或以某种方式将两个变量传递给 delete.php 或如何使 POST 方法通过两个参数工作的知识。正如我所说,我不能将 ID 存储在必须包含“echo('<table border="2">');echo('<tr><td>"Název Nemocnice"');echo('</td><td>"Adresa Nemocnice"');echo('</td><td>"Název pojišťovny"');echo('</td><td>"Kód pojišťovny"');echo('</td></tr>');foreach ($result as $r){echo('<tr><td>' . htmlspecialchars($r['nazevNemocnice']));echo('</td><td>' . htmlspecialchars($r['adresaNemocnice']));echo('</td><td>' . htmlspecialchars($r['nazevPojistovny']));echo('</td><td>' . htmlspecialchars($r['kodPojistovny']));echo('</td><td><input type= "submit" name="deleteItem" value="Delete"');echo('</td></tr>');}echo('</table>');  经过温和的更新后,我能够让它工作,但有一个非常奇怪的问题。它没有传递整个价值。                    foreach ($result as $r){                        echo('<tr><td>' . htmlspecialchars($r['nazevNemocnice']));                        echo('</td><td>' . htmlspecialchars($r['adresaNemocnice']));                        echo('</td><td>' . htmlspecialchars($r['nazevPojistovny']));                        echo('</td><td>' . htmlspecialchars($r['kodPojistovny']));                    }                    echo('</table>'); 在显示中它打印“医院 A” 当提交时使用 POST 时,隐藏输入中传输的值是“不完整的”所以我得到“医院”传输。我尝试在删除页面上回显它,它只打印第一个单词。Hospital A -> HospitalAddress A -> AddressInsurance A -> Insurance0101 -> 0101你知道出了什么问题吗?
查看完整描述

3 回答

?
BIG阳

TA贡献1859条经验 获得超6个赞

只需将两个 tableId 作为隐藏参数传递给 delete.php


echo('<tr><td><input type="hidden" name="tableOneID" value="'.$r['tableOneID'].'">' . htmlspecialchars($r['nazevNemocnice']));


echo('<tr><td><input type="hidden" name="tableTwoID" value="'.$r['tableTwoID'].'">' . htmlspecialchars($r['adresaNemocnice']));

像这样和那样的东西将帮助您获取每行的 tableOneID 和 tableTwoID。


查看完整回答
反对 回复 2022-07-22
?
慕桂英3389331

TA贡献2036条经验 获得超8个赞

您通常不想使用 HREF(这是一个 GET 请求)来执行非幂等操作。(即,这会导致数据库更改。)而是使用表单提交(这是一个 POST 请求。)鉴于此,添加多个隐藏值来标识多行很简单。


<form method="post" action="...">

    <input type="hidden" name="id1" value="...">

    <input type="hidden" name="id2" value="...">

    <input type= "submit" name="deleteItem" value="Delete">

</form>


查看完整回答
反对 回复 2022-07-22
?
桃花长相依

TA贡献1860条经验 获得超8个赞

如果您想传入不同的值但保留标签,则可以使用按钮标签而不是输入标签。

<button type="submit" name="deleteItem" value="{$row[ID]}">Delete</button>


查看完整回答
反对 回复 2022-07-22
  • 3 回答
  • 0 关注
  • 94 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信