Einfache Tabellenabfrage: Variablenproblem

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

  • Einfache Tabellenabfrage: Variablenproblem

    Huhu zusammen ^^

    Ich habe da ein kleines Problem mit meiner Webseite... genauer gesagt mit Tabellen in meiner DB.

    Ich habe da 2 Tabellen:
    - 'nuke_users' mit den Spalten 'user_id' und 'username'
    - 'ap_palcodes' mit den Spalten 'pregid' und 'code'

    Ziel: ich möchte jedem User einen 'code' zuweisen.
    Also muss 'pregid' aus 'ap_palcodes' gleich der 'user_id' aus 'nuke_users' sein

    Ich hab mal angefangen das hilflos wie ich bin auf gut Glück in mein PHPNuke-System rein zu stöpseln...

    Erst guck ich nach um wen es sich eignetlich handelt:
    PHP-Code:
    if(($username == $cookie[1]) AND ($userinfo[user_password] == $cookie[2])) { ... } 
    Dann dachte ich muss ich irgendwie von dem Usernamen auf seine ID kommen:
    PHP-Code:
    $nuke_userid "SELECT user_id FROM nuke_users WHERE username == user_id"
    Wenn ich die habe muss ich ihm irgendwie beibringen das ich jetzt abhängig von der 'userid' jetzt einen 'code' zuweisen möchte... also muss irgendwie die userid gleich der pregid sein...?
    PHP-Code:
    $code "SELECT code FROM ap_palcodes WHERE pregid == $user_id"
    Und jetzt will ich das eigneltich nur noch in der "Your_Account" als zusätzliche Info ausgeben:
    PHP-Code:
    echo "Palace Reg-Key: $code<br>\n"
    Irgendwie klappt das aber nicht so... war auch schon auf schattenbaum.net und hab mir alles durchgelesen, aber richtig verstehen tu ich das alles noch nicht gut genug. Helft ihr mir bitte?

    Danke,

    Sandra
    [color=silver]Brennt deine Zunge tief in mir, beuge ich mich deiner Peitsche...[/color]

  • #2
    also im sql nimmste erstmal einfaches =
    UNd deine beiden Tabellen kannste in einem join verbinden
    Beantworte nie Threads mit mehr als 15 followups...
    Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

    Kommentar


    • #3
      äehm... sorry ich bin blond. T_T

      kannst du mit bitte einen codeschnipsel geben wie ich das mache?
      ( oder noch besser einen Vorschlag wie es laufen würde )
      [color=silver]Brennt deine Zunge tief in mir, beuge ich mich deiner Peitsche...[/color]

      Kommentar


      • #4
        Code:
        SELECT
            n.user_id, n.username,
            a.pregid, a.code
        FROM
            n nuke_users
        LEFT JOIN
            a ap_palcodes
        ON
            a.pregid = n.user_id

        Kommentar


        • #5
          ouhm... irgendwie gibt er mir nur "Dein ProStart RegKey: " ohne den Key aus °-°"

          PHP-Code:
          $palcode $db->sql_query("
          SELECT
              n.user_id, n.username,
              a.pregid, a.code
          FROM
              n nuke_users
          LEFT JOIN
              a ap_palcodes
          ON
              a.pregid = n.user_id
          "
          ); 
           echo 
          "Dein ProStart RegKey: $palcode <br>\n"
          die Tabelle 'ap_palcodes' ist gefüllt von '1', 'codenummer1' bis '7000', 'codenummer7000' aber anzeigen tut er mir die codenummer nicht.
          [color=silver]Brennt deine Zunge tief in mir, beuge ich mich deiner Peitsche...[/color]

          Kommentar


          • #6
            Weil Du $palcode völlig falsch übergibst.
            "$palcode = $db->sql_query(..." übergibt Dir nur das SELECT-Ergebnis. Dieses musst Du ja noch auswerten.

            Also
            PHP-Code:
            $dbErg $db->sql_query(... die angegebene SQL-Query ...);
            $dbRow mysql_fetch_array($dbErg);
            echo 
            "Dein ProStart RegKey: ".$dbRow['pregid']; 

            Kommentar


            • #7
              aaaaaaah... vielen lieben dank *knuddel* ^_^
              [color=silver]Brennt deine Zunge tief in mir, beuge ich mich deiner Peitsche...[/color]

              Kommentar


              • #8
                Jetzt muss ich leider doch nochmal fragen... ich bekomme nämlich immer noch keinen Regcode angezeigt sondern nur "Dein Regcode: "

                PHP-Code:
                if(($username == $cookie[1]) AND ($userinfo[user_password] == $cookie[2])) 
                {
                $dbErg $db->sql_query("
                SELECT
                    n.user_id, n.username,
                    a.pregid, a.code
                FROM
                    n nuke_users
                LEFT JOIN
                    a ap_palcodes
                ON
                    a.pregid = n.user_id
                "
                );
                $dbRow mysql_fetch_array($dbErg);
                echo 
                "Dein ProStart RegKey: ".$dbRow['pregid'];


                Die Tabellen sehen wie folgt aus:

                CREATE TABLE nuke_users (
                user_id int(11) NOT NULL auto_increment,
                name varchar(60) NOT NULL default '',
                username varchar(25) NOT NULL default '',
                PRIMARY KEY (user_id),
                KEY uid (user_id),
                KEY uname (username),
                ) TYPE=MyISAM;

                CREATE TABLE ap_palcodes (
                pregid int(11) NOT NULL auto_increment,
                code varchar(15) NOT NULL default '',
                PRIMARY KEY (pregid)
                ) TYPE=MyISAM;

                Hat jemand noch eine Idee woran das liegen könnte?
                [color=silver]Brennt deine Zunge tief in mir, beuge ich mich deiner Peitsche...[/color]

                Kommentar


                • #9
                  Kleiner Fehler bei der SELECT-Abfrage:
                  Code:
                  SELECT
                      n.user_id, n.username,
                      a.pregid, a.code
                  FROM
                      nuke_users n
                  LEFT JOIN
                      ap_palcodes a
                  ON
                      a.pregid = n.user_id

                  Kommentar


                  • #10
                    Super, jetzt gehts ^_^ *freu*


                    Danke nochmal!
                    [color=silver]Brennt deine Zunge tief in mir, beuge ich mich deiner Peitsche...[/color]

                    Kommentar


                    • #11
                      Da bin ich schon wieder... *schäm*

                      Ich dachte es klappt alles und bis jetzt ist auch noch niemand aufgefallen aber es bekommen ALLE User den SELBEN a.code angezeigt.

                      Ziel wäre es gewesen das jeder User einen eigenen a.code angezeigt bekommt.

                      PHP-Code:
                      // Sicherstellen das der User eingeloggt und somit identifizierbar ist
                      if(($username == $cookie[1]) AND ($userinfo[user_password] == $cookie[2])) 
                      {
                      // Select-Abfrage made by Innuendo
                      $dbErg $db->sql_query("
                      SELECT
                          n.user_id, n.username,
                          a.pregid, a.code
                      FROM
                          nuke_users n
                      LEFT JOIN
                          ap_palcodes a
                      ON
                          a.pregid = n.user_id
                      "
                      );
                      $dbRow mysql_fetch_array($dbErg);

                      // Ausgabe des Code von dem jeder User einen bekommen soll
                      echo "Palace PRO-Start RegKey: ".$dbRow['code'];

                      EDIT: Hier noch die Tabelle wie sie aussieht...

                      PHP-Code:
                      # Tabellenstruktur für Tabelle `ap_palcodes`

                      CREATE TABLE ap_palcodes (
                        
                      pregid int(11NOT NULL auto_increment,
                        
                      code varchar(15NOT NULL default '',
                        
                      PRIMARY KEY  (pregid)
                      TYPE=MyISAM;

                      # Daten für Tabelle `ap_palcodes`

                      INSERT INTO ap_palcodes VALUES (1'TH2Q-VAS9-LLGQ4');
                      INSERT INTO ap_palcodes VALUES (2'55R4-9Y4J-RZFML');
                      INSERT INTO ap_palcodes VALUES (3'2LYG-SFCW-B2GZU');
                      // und so weiter bis nummer 7000 
                      Angezeigt bekommen ALLE USER aber den ersten Code also: TH2Q-VAS9-LLGQ4
                      Zuletzt geändert von Sandra23; 28.03.2004, 19:33.
                      [color=silver]Brennt deine Zunge tief in mir, beuge ich mich deiner Peitsche...[/color]

                      Kommentar


                      • #12
                        Tja Du solltest auch nch eine WHERE BEdingung einfügen.

                        WHERE n.username='$username '

                        zB
                        Beantworte nie Threads mit mehr als 15 followups...
                        Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

                        Kommentar

                        Lädt...
                        X