2010-09-22 106 views
0

这是从这个问题,昨天我给继 - my question from yesterdayPHP/MySQL的删除图像

通过webbiedave给出的答案似乎工作,但继续删除该组,而不是一个通过复选框选择了最后一个图像。当我print_r($_POST);这些图像都不能在印刷阵列中的任何位置找到。在页面/表单中,我有其他图像上传和文本输入,这些输入全部写入主表'isadmin',并且print_r($_POST);显示它们都很好。

从isgallery表格中拉出的图像似乎存在问题,以及它们似乎与表格内的其余项隔离,并且在$_POST['delGallery']=='1'时未被拾取。

任何帮助非常感谢。小号

回答

0

如果您打算删除图像的数组,你可以改变你的复选框代码:

<label for="delGallery<?php echo $galleryResult['id'] ?>"><input id="delGallery<?php echo $galleryResult['id'] ?>" type="checkbox" name="gallery_ids[]" value="<?php echo $galleryResult['id'] ?>" /> Delete this image?</label><br /> 

现在你不需要隐藏的输入您在其他代码了。 PHP将创建一个数组给你,所以在你删除代码,你可以这样做:

if (!empty($_POST['gallery_ids'])) { 
    foreach ($_POST['gallery_ids'] as $galleryId) { 
     $sql = "DELETE FROM isgallery WHERE id = ".mysql_real_escape_string($galleryId); 
     mysql_query($sql); 
    } 
} 

再次,你要确保适当的消毒/验证/逸出码。

+0

许多非常感谢 - 像梦一样工作! – ss888 2010-09-23 08:25:17