2014-02-06 134 views
0

我用照片和描述製作了一個數據庫(php/mysql)。一切運作良好。我可以刪除整個記錄(4張圖片和說明),但不知道如何刪除只有一張圖片,以保持如3.預先感謝您的幫助從php刪除一條記錄用php

enter image description here

delete.php

<?php 

// 2. Perform database query 
    $id = $photo["id"]; 

    $safe_page_id = mysqli_real_escape_string($connection, $id); 

    $query = "DELETE FROM photographs "; 
    $query .= "WHERE id = {$id} "; 
    $query .= "LIMIT 1"; 

    $result = mysqli_query($connection, $query); 

    if ($result && mysqli_affected_rows($connection) == 1) { 
     // Success 
     $_SESSION["message"] = "product removed."; 
     redirect_to("list_photos_46.php"); 
     echo "Success!"; 
    } else { 
     // Failure 
     $_SESSION["message"] = "Failure."; 
     redirect_to("list_photos_46.php?page={$id}"); 
     die("Database query failed. " . mysqli_error($connection)); 
    } 

?> 

list_photos.php - 刪除所有照片和描述

<td><a href="delete_photo_2.php?id=<?php echo urlencode($row['id']); ?>"onclick="return confirm('are you sure? ');">{Delete}</a></td> 
+1

表格的結構/模式是什麼? – jeff

+0

你的意思是你想刪除除一個以外的所有記錄? –

+0

每張唱片有4張照片嗎? – MarcoS

回答

2

的我明白,你必須在表

ID
圖片1
圖片2
圖片3 6列
圖片4
描述

當您刪除任何記錄Picture1,Picture2,Picture3,Pi cture4,說明全部刪除。如果你想刪除任何一張圖片,你可以將該列設置爲NULL。例如圖片3

$query = "UPDATE photographs SET Picture3 = NULL WHERE id = {$id} "; 

或者當您插入圖片時,爲四張圖片插入四條記錄。通過這種方式,您可以使用代碼中的查詢刪除它們

+0

感謝您的幫助,是更新爲空:) –

2
$query = "DELETE FROM table WHERE id = {'$id'}"; 
+0

這刪除了一切,我想只刪除一張圖片:) $ query =「DELETE FROM photographs」; $ query。=「WHERE id = {$ id}」; $ query。=「LIMIT 1」; –

+0

感謝您的幫助, –

1

您可能需要使用更新查詢,而不是刪除查詢

$query = "UPDATE photographs SET filename ='NONE' where id=1"; 
+0

感謝您的幫助, –