我正在做的是尝试建立一个页面,用户可以在其中查看他们创建的工具并随时删除它们。我正在查询三个不同的表并将结果放入一个数组中。一旦这些值在一个数组中,一个 foreach 循环就会遍历并使用表中的所有信息填充一个表,如下所示:
$counter = 1;
echo '<table>'
foreach ($recent_saved_tools as $key => $value) {
echo '<tr name="item'.$counter.'">';
echo '<td>';
echo '<input type="hidden" name="tablename" value="'.$value['table'].'" />';
echo '<input type="hidden" name="tabledelete" value="'.$value['delete'].'" />';
echo '<input type="hidden" name="tableidfield" value="'.$value['idfield'].'" />';
echo '<input type="hidden" name="tableid" value="'.$value['id'].'" />';
//code to display the tool name and link
echo '<a style="text-decoration:none;" href="'.WEBSITE.'tools/'.$value['URL'].'?saved_data_id='.$value['id'].'">'.$value['display'].'</a><br />';
echo date("m/d/Y H:i:s", $key).'<br />';
echo '</td><td>';
//code to display the delete button
echo ' <input class="cssformbutton bluebutton" type="button" name="delete" id="deletebtn'.$counter.'" value="Delete" /><br /><br /><br /><br /></td>';
$counter ++;
}
echo '</table>';
问题是每当我运行 SQL 查询时,无论我单击什么按钮,它总是从最后一个表行中获取值。我知道这与它们的命名方式有关(多个元素具有相同的名称),但我不知道如何解决这个问题。任何帮助,将不胜感激。
这是我用来删除项目的查询:
$query = 'UPDATE '.$value['table'].' SET '.$value['delete'].' = 1 WHERE '.$value['idfield'].' = '.$value['id'];
$sql->query($query);
编辑:添加删除代码