真的堅持這個......基本上我的系統有4個表格;用戶,項目,用戶項目和活動。用戶表有一個用戶類型字段,用於定義他們是管理員還是用戶(通過整數)...刪除用戶>還需要刪除他們的項目,然後刪除該項目的活動?
管理員可以創建項目,爲項目創建活動並分配用戶(受限訪問用戶) 一個活動。因此,此設置意味着管理員從不直接與活動(而不是項目)關聯。
當我的管理員用戶刪除管理員時,我需要刪除所有項目和活動(對於他們的項目)。我的用戶刪除腳本到目前爲止很簡單並且很有效,但我在如何獲取項目ID以便知道要刪除哪些活動(與即將刪除的項目相關聯)方面遇到問題:
$userid = $_GET['userid'];
$query = "DELETE FROM users WHERE userid=".$userid;
$result = mysql_query($sql, $connection)
or die("Error: ".mysql_error());
$query = "DELETE FROM projects WHERE userid=".$userid;
$result = mysql_query($sql, $connection)
or die("Error: ".mysql_error());
$query = "DELETE FROM userprojects WHERE userid=".$userid;
$result = mysql_query($sql, $connection)
or die("Error: ".mysql_error());
$query = "DELETE FROM activities WHERE projectid=".$projectid;
$result = mysql_query($sql, $connection)
or die("Error: ".mysql_error());
現在前三個查詢執行的很好,顯然是因爲用戶標識正在成功檢索。然而,我所知道的第四次也是最後一次查詢是錯誤的,因爲從任何地方都沒有獲得投射,但是我把它放在那裏以幫助理解我想要得到的東西!
我猜想我需要像'WHERE projectid ='之類的東西,然後收集用戶標識中可以與該項目活動相關的已刪除項目!它的一個簡單的概念,但我有麻煩...
謝謝,我會嘗試了這一點,現在 – Jamie 2010-05-04 00:48:08
對不起,我只是意識到,「選擇從項目專案編號其中userid」行不通,因爲在項目表中沒有用戶ID。 userprojects包含projectid和userid:S – Jamie 2010-05-04 00:59:24
但似乎用戶標識必須存儲在別的地方,作爲另一個表中的外鍵。也許這是一個兩步檢查,對用戶項目?如果沒有看到表格的結構,我無法分辨,但如果它是您想要的,則可以根據此邏輯推斷。 – MJB 2010-05-04 01:11:53