我用HTML创建了一个表,并且我使用foreach
循环将特定数据库表中的所有信息插入到此HTML表中。
我创建了一个名为delete的按钮,用于删除数据库中的特定行,但我遇到了一些问题,因为我不知道如何使用foreach
删除表格信息循环,因为我总是使用while
语句。
我正在做一种MVC结构,但是根据我自己的规则,所以我得到了模型和视图,我在视图中调用所有函数。
我在观看时做了类似的事情:
function fname($array) {
foreach($array as $key) {
echo $key['row1'];
echo "<input type='submit' value='delete'";
}
}
我在模特身上发挥了作用:
function function() {
connect();
$show = ("SELECT * FROM mytable");
$array = db_array($show, 'v');
fname($array);
}
你们能帮我举个例子吗?感谢。
答案 0 :(得分:0)
在每个行的循环内创建一个表单,即如果它打印出10行,则表示10种不同的表单。在提交表单(单击删除)时,将row id
作为隐藏参数发送到控制器(在操作中),同时将其发送到模型。 Model具有执行删除查询并删除行。
查看 -
foreach($array as $key)
{
$row_id = $key['row_id'];
echo "<form action='/deleterow' method='POST'>"
echo $key['row1'];
echo "<input type='submit' value='delete'>";
echo "<input type='hidden' name='id' value=$row_id>";
echo "</form>";
}
控制器 -
function deleterow($id)
{
$this->model_name->delete($id);
}
模型 -
function delete($id)
{
$sql = "DELETE FROM table_name WHERE id=$id";
$exe = mysql_query($sql) or die(mysql_error());
}
答案 1 :(得分:0)
我会尝试这个
function fname($array){
foreach($array as $key=>$val){
echo $val['FIELD'];
echo '<input name="Z" type="hidden" value="'.$key.'" />';
echo '<input type="submit" value="Delete"/>';
}
}
我假设您要制作一个有人可以删除某些内容的页面?
您需要回显重新编码名称吗? (这取决于你从桌子和领域中拉出来的东西) 按下删除按钮时,您可以对隐藏字段Z
进行操作