Ankündigung

Einklappen
Keine Ankündigung bisher.

simple db abfrage

Einklappen

Neue Werbung 2019

Einklappen
Dieses Thema ist geschlossen.
X
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • simple db abfrage

    Hallo Leute,

    ich wende mich an euch als letzten ausweg, da mir in einem Anderen Forum seit 3 tagen keiner helfen konnte auch wenn sich alle mühe gegeben haben.

    Ich habe ein js script was auch alles funktioniert, dieses ruft folgende php datei auf..


    PHP-Code:
    <?php 

    if (isset($_GET['usernamecheck'])) { 
    $usernamecheck trim(htmlspecialchars($_GET['usernamecheck'], ENT_QUOTES"UTF-8")); 
    // Hier fehlt die db abfrage 


        
    $arraypas = array(); 
        if(!
    in_array($usernamecheck$arraypas)){ 
            echo 
    ' <span style="color:red">Kein Freund mit diesem Namen</span>'
        }else{ 
            echo 
    ' <span style="color:#006600">Liste mit allen in Frage kommenden Usern</span>'
        } 

    ?>
    Es handelt sich im gesamten script um eine prüfung welche freunde man hat.

    Es wird eingesetzt in einem mail formular und soll direkt anzeigen ob man mit dem user, den man oben eingetragen hat befreundet ist.

    Wenn ja gehts weiter, wenn nicht kann die nachricht nicht gesendet werden.

    Es gibt eine DB dahinter bestehend aus 3 relevanten spalten:

    ID | User1 | User2

    die tabelle haißt: friends

    wenn 2 leute freundschaft schliesen wird das hier eingetragen.

    Das problem an der sache ist nur, dass die abfrage in beide richtungen laufen muss.

    Denn es es kann ja hans mit klaus befreundet sein und klaus mit markus. Also sieht man das klaus in beiden spalten auftreten kann ich aber wenn ich klaus bin sowohl hans aus user1 und markus aus user2 angezeigt bekommen möchte.

    Ich hoffe man kann mein anliegen verstehen, ansonsten steh ich gerne für fragen bereit.

    Anmerkung:

    in der db ist immer die user id hinterlegt, da usernamen doppelt vorkommen können.

    Die idee zu dem script kam mir bei meinvz/studivz/schülervz, sie nutzen es da auch in ihrem mailformular.

    glg


  • #2
    Zitat von Verino Beitrag anzeigen
    Das problem an der sache ist nur, dass die abfrage in beide richtungen laufen muss.

    Denn es es kann ja hans mit klaus befreundet sein und klaus mit markus. Also sieht man das klaus in beiden spalten auftreten kann ich aber wenn ich klaus bin sowohl hans aus user1 und markus aus user2 angezeigt bekommen möchte.
    Wenn du diese Abfrage in der DB machst, dann prüfe doch einfach auf sowohl die eine ID als auch die andere ID und werte beide IDs nach dem zurückgeben des Datensatzes aus? Ansonsten zeige doch einfach deinen gesamten Code mit der Datenbankabfrage!

    Zitat von Verino Beitrag anzeigen
    ich wende mich an euch als letzten ausweg, da mir in einem Anderen Forum seit 3 tagen keiner helfen konnte auch wenn sich alle mühe gegeben haben.
    [...]
    Ich hoffe man kann mein anliegen verstehen, ansonsten steh ich gerne für fragen bereit.
    Der Grund dafür liegt sicherlich an deiner Problembeschreibung bzw. dass dein Problem wie eine Scriptsuche ausschaut und für solche Wünsche gibt es hier andere Foren...

    Edit: Crosspost-Gefahr: DB abfrage für Freundschaftsabfrage!

    Kommentar


    • #3
      Also meine tabelle ist so aufgebaut:

      Code:
      SELECT count(id) 
      FROM  `friends` 
      WHERE (User1=2 AND User2=3) OR (User2=2 AND User1=3);
      Wenn das Ergebnis 1, bzw. einfach größer 0 ist, sind sie Freunde.

      Nachtrag:
      Ich hoffe das war das was du gesucht hast, ansonsten hab ich keine Ahnung was du machen willst

      Nachtrag #2:
      Beim Insert in die DB würde ich dir empfehlen erst zu bestimmen, ob diese Kombination in bereits in der DB vorkommt, wenn dies der Fall ist, sind sie bereits Freunde und du brauchst keinen Insert zu machen. Ansonsten bekommst du doppelte Datensätze.
      Oder hier der hässliche Weg : Speicher die Kombination in beiden Richtungen in der DB, also in der art 2-3 && 3-2,
      dann wäre es egal, ist aber wie gesagt hässlich und ich würde es selbst nie machen!
      "My software never has bugs, it just develops random features."
      "Real programmers don't comment. If it was hard to write, it should be hard to understand!"

      Kommentar


      • #4
        Bitte beachten: Anmerkungen zu Crosspostings

        [MOD: Thread geschlossen]
        --

        „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
        Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


        --

        Kommentar

        Lädt...
        X