это следует из этого вопроса, который я опубликовал вчера - мой вопрос со вчерашнего дня
Ответ, данный webbiedave, по-видимому, работал, но продолжал удалять последнее изображение в группе, а не выбранное через этот флажок. Когда я print_r($_POST);
, ни одно из этих изображений не может быть найдено нигде в печатном массиве. Внутри страницы/формы у меня есть другие загрузки изображений и текстовые входы, которые все записываются в основную таблицу "isadmin", а print_r($_POST);
отображает их все в порядке.
Кажется, что проблема с изображениями, которые вытягиваются из таблицы isgallery, и тем фактом, что они, кажется, изолированы от остальных элементов в форме и не собираются, когда $_POST['delGallery']=='1'
.
Любая помощь очень ценится. S
Если вы намерены удалить массив изображений, вы можете изменить свой код флажка:
<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);
}
}
Опять же, вы захотите убедиться, что используется надлежащий метод очистки/проверки/экранирования.