Problem mit Verknüpfung zweier Tabellen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Problem mit Verknüpfung zweier Tabellen

    hallo,

    ich habe ein kleines Problem mit dem verknüpfen von zwei tabellen.

    ich habe schon alle threads durch und die google suche hat mir auch nicht das gebracht was ich suche, bzw. verstehe ich es einfach nicht.

    nun mal zum problem:

    in der tabelle login wird beim einlogen für den username aktiv auf 1 (online) gesetzt.
    in der tabelle daten, stehen die daten des users.

    Tabelle (login) hat die spalten:
    username,
    aktiv

    Tabelle (daten) hat die spalte:
    user

    ich möchte einfach bei dem profil von dem user, anzeigen lassen, ob diese online ist, oder nicht. und mir die daten aus der login tabelle hollen die für den jeweiligen user bestimmt sind.

    die daten username und user sind in den tabellen identisch und auf unique gesetzt.

    dazu habe ich mir dieses aus einigen threads zusammen gebastelt.

    PHP-Code:
    $sql "SELECT a.username,a.aktiv,b.user FROM login as a, daten as b where b.user = a.username and a.aktiv='1'";
    $res    mysql_query($sql);
    $ergb mysql_fetch_array($res);
    if (
    $ergb["aktiv"]==1)
    $ak    "<img src='../images/member/off.gif' width='16' height='16' border='0' alt='Offline'>";
    else
    $ak    "<img src='../images/member/on.gif' width='16' height='16' border='0' alt='Online'>";
    ?> 
    klappt leider nicht und ich weiß auch nicht sorecht, welche verknüpfungsvariante dafür gut ist.

    vielleicht kann mir da jemand helfen, wäre sehr nett.

    tabellenverknüpfungen sind nicht meine stärke.

    vielen dank

  • #2
    Re: Problem mit Verknüpfung zweier Tabellen

    Original geschrieben von lukeacid

    klappt leider nicht
    ... ist keine Fehlerbeschreibung.

    Kommentar


    • #3
      er zeigt mir keinen fehler an, dass einzige was er macht ist, dass er entweder alle offline anzeigt, bzw. wenn ich mich einlogge, alle online anzeigt, auch die die in der tabelle login auf aktiv='0' stehen.

      somit würde ich sagen, vergleicht er nicht den username aus tabelle login mit dem user aus der tabelle daten, oder liege ich da falsch?

      Kommentar


      • #4
        http://www.php-resource.de/forum/sho...threadid=28292 sollte dir dabei helfen

        Kommentar


        • #5
          den thread habe ich auch schon gelesen, aber ich verstehe den nicht.

          ich würde jetzt sowas daraus machen:

          PHP-Code:
          SELECT a.usernamea.aktivb.user FROM login AS a INNER JOIN  daten AS b ON a.username b.user 
          muß ich das as immer dazu schreiben, oder gibt es außnahmen?

          und wie bekomme ich jetzt das

          and a.aktiv='1'

          mit dazu.
          muß ich dazu die RIGHT JOIN ..........LEFT JOIN anwenden?

          wie gesagt er soll ja die namen vergleichen und dann feststellen ob der name aktiv='1' hat.

          man für einen anfänger ist das starker tobak )

          Kommentar


          • #6
            Original geschrieben von lukeacid
            den thread habe ich auch schon gelesen, aber ich verstehe den nicht.
            dann hilf lesen ... lesen ... und immer wieder lesen...
            muß ich das as immer dazu schreiben, oder gibt es außnahmen?
            Nein, du sollst sogar das AS weglassen
            und wie bekomme ich jetzt das

            and a.aktiv='1'

            mit dazu.
            dazu schreiben, wäre sinnvoll
            muß ich dazu die RIGHT JOIN ..........LEFT JOIN anwenden?

            wie gesagt er soll ja die namen vergleichen und dann feststellen ob der name aktiv='1' hat.
            komm drauf an, was du genau haben willst.
            - Userdaten aus login und daten holen, welche existieren, und der User ist aktive, dann nein
            - Userdaten auf jeden Fall aus login holen, dann LEFT JOIN
            - ... usw.

            Kommentar

            Lädt...
            X