2011-09-18 90 views
0

我創建一個系統,你可以將照片上傳到畫廊,你可以給畫廊名稱和描述,並與你想要但是許多圖像聯繫起來。我正在使用MySQL和PHP來實現這一點。我都有點進退兩難,不過那就是我想允許用戶,如果他們選擇,刪除與畫廊搭訕,如果他們刪除庫,或將圖像設置爲其他默認庫中的所有圖像。SQL或PHP級聯更新和刪除

我設置數據庫的方式是使用兩個表格,一個是圖像表格,其中包含圖像名稱,描述,實際圖像名稱(意思是.jpeg圖像)和圖庫ID字段。圖庫表格包含名稱,描述和它自己的ID。

我剛剛瞭解了一些關於級聯外鍵觸發,但我不很瞭解他們的工作,所以我不知道這將是一個解決方案。我的主要目標是讓用戶刪除的畫廊,並擁有所有的畫廊ID的圖像表的更新,礦石有所有這些圖片被刪除。如果沒有辦法用SQL來做到這一點,我怎麼能用PHP來做到這一點?我試圖弄清楚,並得出結論,我可能不得不使用某種循環。

任何幫助,在此將不勝感激。

+0

請問您能簡化這段文字嗎? – Blender

+0

我忘了分成幾段很抱歉。 :)我認爲我做了適當的調整。 –

+1

只是幫助你獲得幫助;) – Blender

回答

1

如果一個人要求刪除自己的畫廊之一,它有「34」的ID,你可以只

$gId = 34; 
$query = 'DELETE FROM `images` WHERE `gallery_id` = $gId'; 
$res = mysql_query($query); 

// or assign to new gallery 
$gId = 34; 
$newGid = 5; 
$query = 'UPDATE `images` set `gallery_id` = $newGid WHERE `gallery_id` = $gId'; 
$res = mysql_query($query); 

如果您正在使用的MySQL 5.5 InnoDB表,你可以看到文檔here解釋如何使用約束來實現級聯刪除或更新。

+1

爲了聖潔的一切事情的愛,**請跳出你的MYSQL **! – Blender