Seite 1 von 1

Fehler in groupcp

Verfasst: 25.02.2007 15:12
von ema2412
wO liegt der fehler:


Parse error: syntax error, unexpected T_LOGICAL_AND in /www/htdocs/angelfor/forum/groupcp.php on line 422


hier die verlinkte datei

www.angelforum.at/forum/groupcp1.txt

Verfasst: 25.02.2007 15:13
von Miriam
Der Link zur Datei funktioniert bei mir nicht. :P

Verfasst: 25.02.2007 15:58
von ema2412
also bei mir geht er

Verfasst: 25.02.2007 16:42
von Miriam
Bei mir jetzt auch.... Komisch. :D

Wo sind denn die CASE Anweisungen hin? Und die Hochkommata, die doppelten? Hm.

Code: Alles auswählen

                AND aa.group_id (+) = g.group_id
                                ORDER BY "aa.auth_mod DESC";

                        break;

                WHERE g.group_id = $group_id
                                ORDER BY "aa.auth_mod DESC";


                        break;
        }

Verfasst: 25.02.2007 17:15
von ema2412
behebt aber ncoh nicht meinen Fehler :D

Verfasst: 25.02.2007 18:32
von Miriam
??? Du bist ja ein Früchtchen... Aber gut, hier ist mein Vorschlag:

finde:

Code: Alles auswählen

        switch(SQL_LAYER)
        {
                case 'postgresql':
                        $sql = "SELECT g.group_moderator, g.group_type, aa.auth_mod
                                FROM " . GROUPS_TABLE . " g, " . AUTH_ACCESS_TABLE . " aa
                                WHERE g.group_id = $group_id
                                        AND aa.group_id = g.group_id
                                        UNION (
                                                SELECT g.group_moderator, g.group_type, NULL
                                                FROM " . GROUPS_TABLE . " g
                                                WHERE g.group_id = $group_id
                                                        ORDER BY aa.auth_mod DESC";

                        break;

                AND aa.group_id (+) = g.group_id
                                ORDER BY "aa.auth_mod DESC";

                        break;

                WHERE g.group_id = $group_id
                                ORDER BY "aa.auth_mod DESC";


                        break;
        }
ersetze gegen:

Code: Alles auswählen

	switch(SQL_LAYER)
	{
		case 'postgresql':
			$sql = "SELECT g.group_moderator, g.group_type, aa.auth_mod
				FROM " . GROUPS_TABLE . " g, " . AUTH_ACCESS_TABLE . " aa
				WHERE g.group_id = $group_id
					AND aa.group_id = g.group_id
					UNION (
						SELECT g.group_moderator, g.group_type, NULL
						FROM " . GROUPS_TABLE . " g
						WHERE g.group_id = $group_id
							AND NOT EXISTS (
							SELECT aa.group_id
							FROM " . AUTH_ACCESS_TABLE . " aa
							WHERE aa.group_id = g.group_id
						)
					)
				ORDER BY aa.auth_mod DESC";
			break;

		case 'oracle':
			$sql = "SELECT g.group_moderator, g.group_type, aa.auth_mod
				FROM " . GROUPS_TABLE . " g, " . AUTH_ACCESS_TABLE . " aa
				WHERE g.group_id = $group_id
					AND aa.group_id (+) = g.group_id
				ORDER BY aa.auth_mod DESC";
			break;

		default:
			$sql = "SELECT g.group_moderator, g.group_type, aa.auth_mod
				FROM ( " . GROUPS_TABLE . " g
				LEFT JOIN " . AUTH_ACCESS_TABLE . " aa ON aa.group_id = g.group_id )
				WHERE g.group_id = $group_id
				ORDER BY aa.auth_mod DESC";
			break;
	}