本当にこれで立ち往生しています...基本的に私のシステムには4つのテーブルがあります。ユーザー、プロジェクト、user_projects、およびアクティビティ。ユーザーテーブルには、ユーザーが管理者かユーザーかを (整数で) 定義する usertype フィールドがあります...
管理者は、プロジェクトを作成し、プロジェクトのアクティビティを作成し、ユーザー (制限付きアクセス ユーザー) にアクティビティを割り当てることができます。したがって、このセットアップは、管理者がアクティビティ (プロジェクトではなく) に直接関連付けられることは決してないことを意味します。
ヘッド管理者ユーザーが管理者を削除すると、すべてのプロジェクトとアクティビティ (そのプロジェクトの) も削除する必要があります。ユーザーの削除スクリプトはこれまでのところ単純で機能しますが、削除するアクティビティを知るために projectID を取得する方法に問題があります (削除しようとしているプロジェクトに関連付けられています)。
$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());
ユーザー ID が正常に取得されているため、最初の 3 つのクエリは正常に実行されます。しかし、私が知っている 4 番目と最後のクエリは間違っています。なぜなら、どこからでも得られる projectid がないからです。
「WHERE projectid =」のようなものが必要であり、そのプロジェクトのアクティビティに関連する可能性のあるユーザーIDから削除されたプロジェクトを収集する何かが必要になると思います! 単純なコンセプトですが、私は問題を抱えています...