Dustin: Komplexe MySQL Abfrage

Beitrag lesen

Klar, sorry das ich jetzt erst schreibe.

function getUserSettings($userid)
{
	$settings = [];

	$settings["clip_length"] = -1;
	$settings["clip_limit"] = -1;
	$settings["wait_for_admin"] = -1;
	$settings["play_other_clips"] = -1;

	$sql = "SELECT `clip_length`,`clip_limit`,`wait_for_admin`,`play_other_clips` FROM `clips_groups` 
	JOIN `clips_user_in_group` ON clips_user_in_group.userid='".$userid."' WHERE clips_groups.id=clips_user_in_group.groupid 
	UNION SELECT `clip_length`,`clip_limit`,`wait_for_admin`,`play_other_clips` FROM `clips_users` WHERE id='".$userid."'";
	$result = mysql_query($sql);

	while ($row = mysql_fetch_assoc($result)) 
	{ 
		$field = array_keys($row);
		for($i = 0; $i < sizeof($field); $i++)
		{
			if ($settings[$field[$i]] < $row[$field[$i]])
			{
				$settings[$field[$i]] = $row[$field[$i]];
			}
		}
	}

	/*Als JSON zurückgeben*/
	$settings = json_encode($settings);
	$out = json_decode($settings);

	return $out;
}

Habe das so gelöst, wenn ich MAX() verwende bekomme ich ja trotzdem 2 Ergebnisse Zurück einmal von der Gruppe und von User. Daher habe ich das komplett weg gelassen.