2014-10-06 3 views
0

어떻게 이렇게 처리 했습니까? 그러나 dir에서 파일을 삭제하면 확인란의 이름에 값이 필요하고 db의 행이 삭제되지 않습니다.dir plus db에서 파일을 삭제하는 방법

foreach($_POST['checkbox'] as $key => $value){ 
    $sql = "DELETE FROM media WHERE path='$key'"; 
    $result = mysqli_query($connection, $sql); 
    $name = $key; 
    list($dir, $file_name_type) = explode("/",$name); // get actual file name 
    $actual_name = $file_name_type; 
    list($actual_name,$type) = explode(".",$file_name_type); 
if(unlink($key) && $result){ 
    $_SESSION["message"]="Datei <b style=\"color:#005577\"> &nbsp; ".$actual_name."</b> &nbsp; wurde erfolgreich gel&ouml;scht :)"; 
    header ("Location: media.php"); 
    } else { 
     $_SESSION["message"]="Datei <b style=\"color:#005577\"> &nbsp; ".$actual_name."</b> &nbsp; konnte nicht gel&ouml;scht werden.";} 
    header ("Location: media.php"); 
    } 
} 

이 고맙습니다처럼 잘 작동하는 것 같다 고맙습니다

+0

어떻게 정리 했습니까? 두 스크립트 모두 리디렉션 (header())을 포함하고 있기 때문에 나머지 코드가 실행되지 않게됩니다. –

+1

@MalcolmKindermans 헤더 실행시 스크립트 실행이 계속됩니다. – DanFromGermany

+1

이 2 가지 기능을 능숙하게 하나의 합리적인 기능으로 병합 할 수 없다면 이해하지 못하는 코드 스 니펫을 붙여 넣기 만하면됩니다. ** 이것은 WeDoYourWorkForFree.COM이 아닙니다 ** 적어도 여러분의 시도 중 하나를 보여 주면 우리는 논평하고 제안 할 수 있습니다 – RiggsFolly

답변

0

내 문제를 해결하기 위해 관리

if(isset($_POST['delete']) && isset($_POST['checkbox'])){  

    $checkbox = $_POST['checkbox']; 
for($i=0;$i<count($checkbox);$i++){ 
    $del_id = $checkbox[$i]; 
    $sql = "DELETE FROM media WHERE id='$del_id'"; 
    $result = mysqli_query($connection, $sql); 
    } 
foreach($_POST['checkbox'] as $key => $value){ 
    $name = $key; 
    list($dir, $file_name_type) = explode("/",$name); // get actual file name 
    $actual_name = $file_name_type; 
    list($actual_name,$type) = explode(".",$file_name_type); 
if(unlink($key) && $result){ 
    $_SESSION["message"]="Datei <b style=\"color:#005577\"> &nbsp; ".$actual_name."</b> &nbsp; wurde erfolgreich gel&ouml;scht :)"; 
    header ("Location: media.php"); 
    } else { 
     $_SESSION["message"]="Datei <b style=\"color:#005577\"> &nbsp; ".$actual_name."</b> &nbsp; konnte nicht gel&ouml;scht werden.";} 
    header ("Location: media.php"); 
    } 
} 
$result = mysqli_query($connection, "SELECT * FROM media ORDER BY date DESC"); 
confirm_query($result); 

while ($row = mysqli_fetch_array($result)){ 
    $post_date = new DateTime($row["date"]); 

echo " 
    <tr> 
     <td><input name=\"checkbox[]\" type=\"checkbox\" value=" .$row['id']. "> 
     <td><a class=\"image\" href=" .$row['path']. " rel=\"lightbox\"><img src=" .$row["path"]. " height=\"50\"></a></td> 
     <td class=\"title\">" .$row['file_name']. "</td> 
     <td class=\"date\">".strftime("%e. %b, '%g", $post_date->getTimestamp())."</td> 
    </tr>"; 
} 
?> 
</table> 
</form> 

건배 크리스

건배 Chris

관련 문제