我很难过。这是我的相关代码:
while($data = mysql_fetch_array($getdata)){
$myid = $data["myid"]; //unique entry identifier for table rows
$method = $data["method"];
$category = $data["category"];
$company = $data["company"];
$datestarted = $data["datestarted"];
$initialfee = $data["initialfee"];
$ongoingfee = $data["ongoingfee"];
echo "</tr>";
echo "<tr>";
echo "<td class='mymenu' width='14%' height='60px'>";
echo $method;
echo "</td>";
echo "<td class='mymenu' width='20%' height='60px'>";
echo $category;
echo "</td>";
echo "<td class='mymenu' width='20%' height='60px'>";
echo $company;
echo "</td>";
echo "<td class='mymenu' width='12%' height='60px'>";
echo $datestarted;
echo "</td>";
echo "<td class='mymenu' width='12%' height='60px'>";
echo $initialfee;
echo "</td>";
echo "<td class='mymenu' width='12%' height='60px'>";
echo $ongoingfee;
echo "</td>";
echo "<td class='mymenu' width='10%'>";
echo "<input type='submit' name='' class='button' value='Remove'>";
echo "</td>";
}
这里发生的是,将要显示一个表,该表中的每一行看起来都如上所示。可以有任意数量的条目,但可能在1-6的范围内。每个条目的末尾都有一个删除按钮。点击后,用户将被转发到一个页面,然后该表格将从表格中删除。我的问题是根据用户点击的“删除”按钮确定用户想要删除的条目。如果行数不是动态的,我可以提前给每个输入按钮一个唯一的名称,这可能会有所帮助。如何在单击删除按钮后唯一标识删除页面上需要删除的行?我无法使用会话,因为会话变量$ myid只会在每次创建新行时更改。从数据库中提取显然没有帮助,因为我在下一页上缺少唯一标识符。
我知道将每个按钮的名称设置为等于每个唯一的$ myid,这将使该唯一的$ myid成为唯一的$ _POST变量,该变量将根据按下的按钮移动到删除页面。在删除页面上,我只需将$ myid设置为该post变量。但是,即使它是唯一可用的post变量,如何在删除页面上引用它等于$ myid而不知道它的名称?因为我不知道前往删除页面的$ _POST变量的名称。
答案可能很简单,但无论出于何种原因,这个晚上都不会来找我。
感谢您的帮助。老实说,如果没有这个论坛我会怎么做。
答案 0 :(得分:1)
为每一行创建一个新表单,其中一个隐藏字段包含您要删除的记录的ID。
echo "<form>";
echo "<td class='mymenu' width='10%'>";
echo "<input type='hidden' value='$id'>";
echo "<input type='submit' name='' class='button' value='Remove'>";
echo "</td>";
echo "</form>";
答案 1 :(得分:0)
首先,我想说你的tr
标记位置不合适,并创建form
来解决问题
试试这个:
while($data = mysql_fetch_array($getdata)){
$myid = $data["myid"]; //unique entry identifier for table rows
$method = $data["method"];
$category = $data["category"];
$company = $data["company"];
$datestarted = $data["datestarted"];
$initialfee = $data["initialfee"];
$ongoingfee = $data["ongoingfee"];
echo "<tr>";
echo "<td class='mymenu' width='14%' height='60px'>";
echo $method;
echo "</td>";
echo "<td class='mymenu' width='20%' height='60px'>";
echo $category;
echo "</td>";
echo "<td class='mymenu' width='20%' height='60px'>";
echo $company;
echo "</td>";
echo "<td class='mymenu' width='12%' height='60px'>";
echo $datestarted;
echo "</td>";
echo "<td class='mymenu' width='12%' height='60px'>";
echo $initialfee;
echo "</td>";
echo "<td class='mymenu' width='12%' height='60px'>";
echo $ongoingfee;
echo "</td>";
echo "<td class='mymenu' width='10%'>";
echo "<form>";
echo "<input type='hidden' value='".$id."'>";
echo "<input type='submit' name='' class='button' value='Remove'>";
echo "</form>";
echo "</td>";
echo "</tr>";
}
答案 2 :(得分:0)
试试这个@Lock忘了把"
放进去。
<?php
echo "<form>";
echo "<table><tr>";
echo "<td class='mymenu' width='10%'>";
echo "<input type='hidden' value='$id'>";
echo "<input type='submit' name='' class='button' value='Remove'>";
echo "</td>";
echo "</tr></table>";
echo "</form>";
?>