为了说明我的问题描述,有一个列表可以附加一个或多个任务。
我设计的内容如下,
<?php
try
{
$list_id = $_GET['id'];
//Instantiate Database object
$database = new Database;
//check if task exist for the list to be deleted
$database->query('SELECT * FROM tasks WHERE list_id = :id');
$database->bind(':id',$list_id);
$database->single();
$rc = $database->rowCount();
if($rc > 0)
{
?>
<script type="text/javascript">
if(confirm('The list has one or more task attached to it. Deleting the list will also delete the attached tasks. Do you want to proceed ?'))
{
//prepare and execute delete tasks
$database->query('DELETE FROM tasks WHERE list_id = :id');
$database->bind(':id',$list_id);
$database->execute();
//prepare and execute delete lists
$database->query('DELETE FROM lists WHERE id = :id');
$database->bind(':id',$list_id);
$database->execute();
if($database->rowCount() > 0)
{
header("Location:index.php?msg=listdeleted");
}
}
</script>
<?php
}
}
catch(Exception $e)
{
echo '<p>'.$e->getMessage().'</p>';
}
?>
问题在于 - 代码什么都不做。没错。什么都没有。 我做了一些谷歌搜索,发现大多数人都建议ajax调用这样做。我不知道ajax。所以,要做到这一点,我必须花费相当多的时间。所以,我需要以下两件事 -
答案 0 :(得分:2)
无论
a)学习使用ajax,因为它是最明显的解决方案。一旦你学会了它,你会发现它非常宝贵
或者,如果你真的没有时间
b)使用你的JS&#39;确认&#39;将用户重定向到新的PHP页面,在页面重定向的URL中传递要删除的记录的ID。在新的PHP页面上,处理您的删除,然后使用PHP重定向将用户带回原始页面。选择选项(a)......
答案 1 :(得分:0)
是的,正如这些家伙所说,ajax将是一个很好的方式来做到这一点。
确认提醒它正在工作? 在你的js函数里面,你不能把php代码放在&#34;&lt; ? PHP ..&GT;?&#34;然后和你一样。