Действительно застрял с этим ... в основном в моей системе 4 таблицы; пользователи, проекты, user_projects и действия. В таблице пользователей есть поле типа пользователя, которое определяет, являются ли они администратором или пользователем (целым числом)...
Администратор может создать проект, создать действие для проекта и назначить действие пользователю (пользователю с ограниченным доступом). Таким образом, эта настройка означает, что администратор никогда не связан напрямую с действием (вместо проекта).
Когда мой главный пользователь-администратор удаляет администратора, мне нужно, чтобы все проекты и действия (для их проектов) также были удалены. Мой сценарий удаления для пользователя пока прост и работает, но у меня возникли проблемы с тем, как получить идентификатор проекта, чтобы узнать, какие действия следует удалить (связанные с проектами, которые собираются удалить):
$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());
Теперь первые три запроса выполняются нормально, очевидно, потому что идентификатор пользователя успешно извлекается. Однако 4-й и последний запрос, который я знаю, неверен, потому что нигде нельзя получить проект, однако я поместил его туда, чтобы помочь понять, что я пытаюсь получить!
Я предполагаю, что мне понадобится что-то вроде «WHERE projectid=», а затем что-то, чтобы собрать удаленные проекты из идентификатора пользователя, которые могут быть связаны с действиями для этого проекта (ов)! Это простая концепция, но у меня проблемы...