gibt zuviel aus

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

  • gibt zuviel aus

    meine tablen

    PHP-Code:
    CREATE TABLE `kunden` (
      `
    kunden_idint(11NOT NULL auto_increment,
      `
    vornamevarchar(255NOT NULL default '',
      `
    nachnamevarchar(255NOT NULL default '',
      
    PRIMARY KEY  (`kunden_id`)
    TYPE=MyISAM AUTO_INCREMENT=;

    #
    # Daten für Tabelle `kunden`
    #

    INSERT INTO `kundenVALUES (1'John''Blok');
    INSERT INTO `kundenVALUES (2'Jans''Müller'); 
    PHP-Code:
    CREATE TABLE `admins` (
      `
    admin_idint(11NOT NULL auto_increment,
      `
    usernamevarchar(255NOT NULL default '',
      `
    passwordvarchar(255NOT NULL default '',
      `
    vornamevarchar(255NOT NULL default '',
      `
    nachnamevarchar(255NOT NULL default '',
      `
    eMailvarchar(255NOT NULL default '',
      
    PRIMARY KEY  (`admin_id`)
    TYPE=MyISAM AUTO_INCREMENT=;

    #
    # Daten für Tabelle `admins`
    #

    INSERT INTO `admins
    VALUES (1'johny''tad''John''Müller''bla@xyz.de');
    INSERT INTO `admins
    VALUES (2'FFt''llrs''Jans''Nachmane''URB@mysql.de'); 
    PHP-Code:
    CREATE TABLE `admin_rechte` (
      `
    ar_idint(11NOT NULL auto_increment,
      `
    admin_idint(11NOT NULL default '0',
      `
    kunden_idint(11NOT NULL default '0',
      `
    server_idint(11NOT NULL default '0',
      `
    is_s_adminint(11NOT NULL default '0',
      `
    srv_startint(11NOT NULL default '0',
      
    PRIMARY KEY  (`ar_id`)
    TYPE=MyISAM AUTO_INCREMENT=;

    #
    # Daten für Tabelle `admin_rechte`
    #

    INSERT INTO `admin_rechteVALUES (111111);
    INSERT INTO `admin_rechteVALUES (222211);
    INSERT INTO `admin_rechteVALUES (322111); 
    Befehl:
    es sollen alle Kunden ausgegeben werden und der username dazu der in einer anderen Table steht
    PHP-Code:
    SELECT
        k1
    .kunden_id,
        
    k1.vorname,
        
    a2.username
    FROM 
        kunden 
    AS k1 
        RIGHT JOIN admin_rechte 
    AS ar3 ON k1.kunden_id ar3.kunden_id 
            LEFT JOIN admins 
    AS a2 ON a2.admin_id ar3.admin_id
    dies wird ausgeben

    PHP-Code:

    kunden_id vorname username |

    Müller johny |
    Jans FFt |
    Jans FFt 
    dies soll ausgeben werden

    PHP-Code:

    kunden_id vorname username |

    Müller johny |
    Jans FFt 
    Zuletzt geändert von U.R.B.; 28.05.2004, 19:06.

  • #2
    Re: gibt zuviel aus

    Original geschrieben von U.R.B.
    PHP-Code:
     
    Befehl:
    es sollen alle Kunden ausgegeben werden und der username dazu der in einer anderen Table steht
    PHP-Code:
    SELECT
        k1
    .kunden_id,
        
    k1.vorname,
        
    a2.username
    FROM 
        kunden 
    AS k1 
        RIGHT JOIN admin_rechte 
    AS ar3 ON k1.kunden_id ar3.kunden_id 
            LEFT JOIN admins 
    AS a2 ON a2.admin_id ar3.admin_id
    dies wird ausgeben

    | kunden_id | vorname | username |

    | 1 | Müller | johny |
    | 2 | Jans | FFt |

    [/PHP]

    1. was haben kundentabelle hier mit administratoren zu tun!?

    2. was soll

    Code:
    k1.kunden_id = ar3.kunden_id
    und...

    Code:
    a2.admin_id = ar3.admin_id

    bezwecken??
    Zuletzt geändert von xManUx; 28.05.2004, 19:03.

    Es kommt nicht darauf an, mit dem Kopf durch den Monitor zu rennen,
    sondern mit den Augen das Manual zu lesen.

    Kommentar


    • #3
      INSERT INTO `admins`
      VALUES (2, 'FFt', 'llrs', 'Jans', 'Nachmane', 'URB@mysql.de);

      das sieht man schon an der farbe das da was fehlt
      nämlich: 'URB@mysql.de'

      Kommentar


      • #4
        @xManUx
        ???

        hast du überhaupt ahnung was du da schreibst ?

        @proggilein

        das war nur ein tipp fehler hier im forum, wenn dieser fehler in SQL befehl wer würde sql eine fehlermeldung ausgeben und nicht das was es ausgibt.
        Zuletzt geändert von U.R.B.; 28.05.2004, 19:11.

        Kommentar


        • #5
          Original geschrieben von proggilein
          INSERT INTO `admins`
          VALUES (2, 'FFt', 'llrs', 'Jans', 'Nachmane', 'URB@mysql.de);

          das sieht man schon an der farbe das da was fehlt
          nämlich: 'URB@mysql.de'
          jetzt mal im ernst..

          müsste das nicht wenn dann:

          PHP-Code:

          SELECT
                               k1
          .kunden_id,
                               
          k1.vorname,
                               
          a2.username
          FROM 
                              kunden 
          AS k1 
          RIGHT JOIN 
                              admin_rechte 
          AS ar3 
                        ON 
                              k1
          .kunden_id ar3.ar_id
          LEFT JOIN 
                              admins 
          AS a2 
                      ON 
                              a2
          .admin_id ar3.ar_id 
          heißen??? weiß ja nicht was du bezwecken willst, aber das was du machst klingt mir nicht logisch

          Es kommt nicht darauf an, mit dem Kopf durch den Monitor zu rennen,
          sondern mit den Augen das Manual zu lesen.

          Kommentar


          • #6
            ....
            ...
            heißen??? weiß ja nicht was du bezwecken willst, aber das was du machst klingt mir nicht logisch
            nee, schau dir doch mal die tablen struktur an und welches ergebnis ich mit mein befehl bekomme und welches ergebnis ich haben will.

            Kommentar


            • #7
              Original geschrieben von U.R.B.
              nee, schau dir doch mal die tablen struktur an und welches ergebnis ich mit mein befehl bekomme und welches ergebnis ich haben will.
              und was bekommst du mit meinem query heraus?

              Es kommt nicht darauf an, mit dem Kopf durch den Monitor zu rennen,
              sondern mit den Augen das Manual zu lesen.

              Kommentar


              • #8
                Original geschrieben von xManUx
                und was bekommst du mit meinem query heraus?
                kunden_id vorname username
                1 John johny
                2 Jans FFt
                NULL NULL NULL

                auch was flasches *g*

                Kommentar


                • #9
                  Original geschrieben von U.R.B.
                  kunden_id vorname username
                  1 John johny
                  2 Jans FFt
                  NULL NULL NULL

                  auch was flasches *g*
                  nimm statt right den left.. dann?

                  Es kommt nicht darauf an, mit dem Kopf durch den Monitor zu rennen,
                  sondern mit den Augen das Manual zu lesen.

                  Kommentar


                  • #10
                    Original geschrieben von xManUx
                    nimm statt right den left.. dann?
                    dein code is aufjeden fall falsch

                    wenn ich ein kunde eintrag passiert folgendes.

                    kunden id(wird selbst erstellt - auto_increment), vorname und nachname werden in der tabelle kunden gespeichert,

                    admin id (auto_increment),username, passwort, vorname und nachname ,email ->> werden in der Tabelle "admins" gespeichert.

                    in der tabelle "admin_recht" werden die rechte gespeichert die ein admin pro server hat.

                    z.Zt. könnte ich die spalte ar.ar_id weg lassen weil ich sie nicht brauch


                    ar_id (wird noch nicht gebraucht), admin_id (die id des admin), kunden_id (zu welchen kunden gehört dieser admin), server_id (auf welchen server hat der admin welche rechte die in srv_start angeben werden.)

                    Kommentar


                    • #11
                      Original geschrieben von U.R.B.
                      dein code is aufjeden fall falsch

                      wenn ich ein kunde eintrag passiert folgendes.

                      kunden id(wird selbst erstellt - auto_increment), vorname und nachname werden in der tabelle kunden gespeichert,

                      admin id (auto_increment),username, passwort, vorname und nachname ,email ->> werden in der Tabelle "admins" gespeichert.

                      in der tabelle "admin_recht" werden die rechte gespeichert die ein admin pro server hat.

                      z.Zt. könnte ich die spalte ar.ar_id weg lassen weil ich sie nicht brauch


                      ar_id (wird noch nicht gebraucht), admin_id (die id des admin), kunden_id (zu welchen kunden gehört dieser admin), server_id (auf welchen server hat der admin welche rechte die in srv_start angeben werden.)

                      Konkrete Frage:

                      Was genau willst Du?

                      Du willst also herausfinden, welcher Admin ( Name, Vorname ) zu welchem Kunden gehört? Welcher Admin für welchen Kunden zuständig ist?


                      Wie werden Admins den Kunden zugeteilt?

                      Wäre da dann Hauptsächlich nicht eine extra Tabelle dafür sinnvoller?

                      1. Tab. Kundenuser
                      2. Tab. Adminuser
                      3. Tab. Adminuserrechte
                      4. Tab. Betreuung

                      In der 4. steht z.b. die id des datensatzes, kunden_id, und admin_id

                      Es kommt nicht darauf an, mit dem Kopf durch den Monitor zu rennen,
                      sondern mit den Augen das Manual zu lesen.

                      Kommentar


                      • #12
                        kunde ist der vertrags partner der gleichzeitig auch admin des server ist, es kann auch ein oder mehrere admin(s) von kunden hinzugefügt werden.


                        ich will wissen wie kunde der adminname ist.


                        so würde mein php code aussehen wenn mir keiner den richtigen sql befehl geben würde.

                        PHP-Code:
                        <?
                        $sql = "SELECT `kunden_id` , `vorname` , `nachname` FROM `kunden`";
                        $res = mysql_query($sql);
                        while($details = mysql_fetch_array($res))
                        {
                            $kunden_id = $details["kunden_id"];
                            $vorname = $details["vorname"];
                            $nachname = $details["nachname"];

                            $sql2 = "SELECT `admin_id` FROM `admin_rechte` WHERE `kunden_id` = '$kunden_id'";
                            $res2 = mysql_query($sql2);
                            $d = mysql_fetch_array($res2);
                            $admin_id = $d["admin_id"];
                            
                            $sql3 = "SELECT `username` FROM `admins` WHERE `admin_id` = '$admin_id'";
                            $res3 = mysql_query($sql3);
                            $d = mysql_fetch_array($res3);
                            $username = $d["username"];
                        ?>        
                            <tr bordercolor="#FFFFFF" bgcolor="#CCCCCC">
                              <td width="25%"><div align="center"><span class="Stil5"><? echo $vorname; ?></span></div></td>
                              <td width="25%"><div align="center" class="Stil6"><? echo $nachname; ?></div></td>
                              <td width="25%"><div align="center" class="Stil6"><? echo $username; ?></div></td>
                              <td><div align="center"><span class="Stil5">&nbsp;</span></div></td>
                              <td width="60"><div align="center"><a href="admin.php?site=kunden&action=edit&kunden_id=<? echo $kunden_id; ?>">ändern</a></div></td>
                            </tr>
                        <?
                        }
                        ?>

                        Kommentar


                        • #13
                          ... du hattest recht mit deinem query.. aber das ist ein häufiger anfänger fehler..

                          du solltest lieber nicht zweimal admin_id und kunden_id nehmen ( gehört sich normal nicht ) das hatte mich auch verwirrt...

                          vom prinzip her stimmts..

                          PHP-Code:
                          SELECT
                                   kunde
                          .vorname,
                                   
                          kunde.nachname,
                                   
                          user.username
                          FROM
                                     kunden kunde
                          INNER JOIN
                                     admin_rechte admin
                                 ON
                                     admin
                          .kunden_id kunde.kunden_id
                          INNER JOIN
                                     admins user
                                 ON
                                     admin
                          .admin_id user.admin_id 
                          Versuch mal das.. ( MIT INNER JOIN !! ) aber zweimal admin_id in 2 tab. sind nicht gut..

                          was kommt raus?
                          Zuletzt geändert von xManUx; 28.05.2004, 21:22.

                          Es kommt nicht darauf an, mit dem Kopf durch den Monitor zu rennen,
                          sondern mit den Augen das Manual zu lesen.

                          Kommentar

                          Lädt...
                          X