<?php
$imgcheck=mysql_query("
SELECT *
FROM `images`
WHERE `deal_id` =$_SESSION[eid]
LIMIT 0 , 30
");
$numimgcheck=mysql_num_rows($imgcheck);
if($numimgcheck==0){echo '<span style=color:#ff0000; >No pictures uploaded</span>';}
while ($rowimg2= mysql_fetch_array($imgcheck)){
$imgname=$rowimg2['name'];
{
// $rowimg2 = mysql_fetch_array($imgcheck) or die(mysql_error());
//echo $imgname;
echo ' <a href="users/'.$_SESSION['userid'].'/images/'.$imgname.'" rel="lightbox[slide]" caption=".">';
}
{ echo '<img src="users/'.$_SESSION['userid'].'/images/thumbs/'.$imgname.'" border="0" />';}
{ echo '</a><a href="delimg.php?id='.$imgname.'"><img src="images/del.jpg" width="22" height="22" onclick="deleteImg(this);" /> </a>
';
}
//<input type="checkbox" name="'.$imgname.'" id="'.$imgname.'" > if($numimgcheck==0){ $havepic=' <td width="50px" align="center"><div class="iddivimg"> <img src="users/default/nopic_small.jpg" />
//';}
}
?>
我的网站上有一个页面,用户可以在其中编辑和删除图像。在此页面中,每个图像附近都有一个删除按钮(本身为20x20图像)。当用户点击该按钮时,其相应的图像将被删除。我想要它是这样一种方式,当我点击删除图像时,会出现一个确认框,询问“你确定要删除这个图像吗?”如果我单击是,我想删除MySQL表的数据和图像。如果我点击否,则不会发生任何事情。我怎么能这样做?
答案 0 :(得分:2)
将每个图像放在自己的表单中,图像标识符为隐藏值,并使用删除图像作为提交按钮的CSS背景图像。最后使用JS confirm()
函数进行确认。
<form action="delete.php" method="post">
<img src="image1.png" />
<input type="hidden" name="id" value="1" />
<input type="submit" class="delete" value="" onclick="return confirm('Sure?')" />
</form>
<form action="delete.php" method="post">
<img src="image2.png" />
<input type="hidden" name="id" value="2" />
<input type="submit" class="delete" value="" onclick="return confirm('Sure?')" />
</form>
...
使用CSS
.delete {
background-image: url('delete.png');
width: 20px;
height: 20px;
border: 0;
cursor: pointer;
}
这很容易在循环中完成。在必要时,你可以使用jQuery不引人注意地引入ajaxical权力。
答案 1 :(得分:1)
没有一些示例代码很难提供帮助。假设您有一个函数deleteImg()
和一个图像<img src="delete.jpg" onclick="deleteImg(this);" />
然后你做:
function deleteImg(image)
{
if(confirm("are you sure you want to delete this image"))
{
... // delete image logic.
}
}
答案 2 :(得分:1)
正在使用哪种服务器端语言?假设PHP出于解释的目的。
粗略草图(AJAX方法):
delete_image.php?image_id={id}
)confirm
验证用户是否要继续。表格POST方式:
confirm
,只会继续使用真实结果。delete_image.php
中,从帖子表单中检索image_id DELETE
查询从MySQL数据库中删除相应的图像。答案 3 :(得分:1)
看来你还没有尝试在网上寻找解决方案,因为我相信你会找到一些,如果不是很多。单击图像时,使用JS confirm()函数调用一个提示用户提问的javascript函数,如
if (confirm("Do you want to delete the image?")) {
// call your PHP script that will then delete the image
}
答案 4 :(得分:1)
在您最近添加到问题中的代码中,我认为问题是<a href>
始终执行,因为它独立于您对deleteImg()函数的调用而运行。
<a href="delimg.php?id='.$imgname.'">
<img src="images/del.jpg" width="22" height="22" onclick="deleteImg(this);" />
</a>
我认为如果您将代码更改为此代码,则应该可以正常运行:
<a href="delimg.php?id='.$imgname.'" onclick="deleteImg(this);">
<img src="images/del.jpg" width="22" height="22" />
</a>
在deleteImg()函数中,在confirm()的IF部分添加return TRUE;
,并在ELSE部分添加return FALSE
。像这样:
if (confirm("Do you want to delete the image?")) {
// call your PHP script that will then delete the image
return TRUE;
} else {
return FALSE;
}
答案 5 :(得分:0)
没有单一的解决方案,所以我会提供一些对你有用的技术(我假设你在服务器上使用Java环境的标签)。
对于确认框,如果你的意思是像DHTML那样确认Facebook上常见的方框,你可能想要使用jQuery UI组件。看看这个: http://jqueryui.com/demos/dialog/#modal-confirmation
你也可以使用javascript确认功能,但这些盒子目前正在流行。
考虑更新数据库,当然必须从服务器端完成。您可以设置Servlet来执行删除操作,也可以设置Web服务。这只是传递正确参数的问题。