kostenloser Webspace werbefrei: lima-city


MySQL: Reihenfolge logischer Operatoren

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    ghostrider

    Kostenloser Webspace von ghostrider

    ghostrider hat kostenlosen Webspace.

    Hi Leutz,

    Ich habe leider gerade irgendwie einen Dreher drin, brauche das Script allerdings am besten gestern und möchte aus deswegen fix um Rat fragen, da es für eine große Community ist....

    Also ich habe eine Tabelle für eine Freundesliste mit den Feldern userID, buddy, accepted

    Nur habe ich mir folgende Abfrage als 10ten Lösungsansatz ausgedacht:
    WHERE `userID`=('$userID','$id') OR `buddy`=('$userID','$id') AND `accepted`='1'

    Allerdings auch vergebens...

    Könnte ihr mir helfen? Bitte.....

    Gruß
    Chris
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. flashmob-riedlingen

    flashmob-riedlingen hat kostenlosen Webspace.

    was willst du denn mit `userID`=('$userID','$id') bezwecken?
    WHERE `userID`=$userID OR `buddy`=$id AND `accepted`=1


    oder willst du die datensätze haben, die entweder $userID ODER $id haben? dann brauchst du ein IN:
    WHERE `userID` IN($userID,$id) OR `buddy` IN($userID,$id) AND `accepted`=1
  4. Autor dieses Themas

    ghostrider

    Kostenloser Webspace von ghostrider

    ghostrider hat kostenlosen Webspace.

    also es ist ja so ein Freundes abfrage dingen :P

    Also mal angenommen user 1 und 2 sind befreundet dann bestehen doch 2 Möglichenkeiten einmal

    userID 1
    buddy 2

    ODER

    userID 2
    buddy 1

    und das soll er suchen einen datensatz davon der dann aber auch `accepted`=1 beinhaltet

    wobei der Datensatz noch dazu dienen soll das es keine doppelten Einträge gibt also entweder userID oder buddy beides ist möglich in Variation darf aber nur einmal vorkommen

    praktisch kompliziert was aber nicht geht: `userID`='$userID' AND `buddy`='$buddy_id' OR `userID`='$buddy_id' AND `buddy`='$userID'
  5. flashmob-riedlingen

    flashmob-riedlingen hat kostenlosen Webspace.

    ghostrider schrieb:
    praktisch kompliziert was aber nicht geht: `userID`='$userID' AND `buddy`='$buddy_id' OR `userID`='$buddy_id' AND `buddy`='$userID'


    Wieso sollte das nicht gehn?

    Gruß
    Stef
  6. Autor dieses Themas

    ghostrider

    Kostenloser Webspace von ghostrider

    ghostrider hat kostenlosen Webspace.

    bei `userID`='$userID' AND `buddy`='$buddy_id' OR `userID`='$buddy_id' AND `buddy`='$userID' kommen andere ergebnisse als erwartet weil er das wohl nicht so interpretiert wie ich es verstehe:

    [ `userID`='$userID' AND `buddy`='$buddy_id' ] OR [ `userID`='$buddy_id' AND `buddy`='$userID' ]

    die klammer sollen mal die Zusammengehörigkeit Demonstrieren...
  7. flashmob-riedlingen

    flashmob-riedlingen hat kostenlosen Webspace.

    Hmm schwer ohne weitere Informationen was dazu zu sagen.

    Verstehe ich das richtig dass du eine Tabelle mir den int spalten "userID" und "buddy" hast, in denen die jeweiligen user ids stehen?
    und nun willst du wissen ob beispielsweiße der user mit der id 10 mit dem user der id 20 befreundet ist?

    dann muss das hier eigentlich funktionieren:

    SELECT * FROM buddies WHERE (userID = 20 AND buddy = 10) OR (userID = 10 AND buddy = 20);
  8. t*****b

    Anstatt

    SELECT * FROM buddies WHERE (userID = 20 AND buddy = 10) OR (userID = 10 AND buddy = 20);


    würde ich

    SELECT * FROM buddies WHERE userID = 20 AND buddy = 10 OR (userID = 10 AND buddy = 20);


    probieren. Ich hatte neulich ein ähnliches Problem welches so behoben werden konnte. SQL scheint mir da etwas komisch zu sein.
  9. Autor dieses Themas

    ghostrider

    Kostenloser Webspace von ghostrider

    ghostrider hat kostenlosen Webspace.

    Hey super

    Vielen Dank ;-) jetz funktioniert es ich war bei dem klammern die ganze Zeit immer auf dem IN tripp, dabei geht das ja auch bei WHERE



    Vielen Dank nochma für die schnelle Hilfe....


    Gruß Chris
  10. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!