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

基本上就是标题所说的。表显示脚本和 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 -> Hospital

Address A -> Address

Insurance A -> Insurance

0101 -> 0101

你知道出了什么问题吗?


Helenr
浏览 95回答 3
3回答

BIG阳

只需将两个 tableId 作为隐藏参数传递给 delete.phpecho('<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。

慕桂英3389331

您通常不想使用 HREF(这是一个 GET 请求)来执行非幂等操作。(即,这会导致数据库更改。)而是使用表单提交(这是一个 POST 请求。)鉴于此,添加多个隐藏值来标识多行很简单。<form method="post" action="...">&nbsp; &nbsp; <input type="hidden" name="id1" value="...">&nbsp; &nbsp; <input type="hidden" name="id2" value="...">&nbsp; &nbsp; <input type= "submit" name="deleteItem" value="Delete"></form>

桃花长相依

如果您想传入不同的值但保留标签,则可以使用按钮标签而不是输入标签。<button&nbsp;type="submit"&nbsp;name="deleteItem"&nbsp;value="{$row[ID]}">Delete</button>
打开App,查看更多内容
随时随地看视频慕课网APP