NuQDuj: Doppelte Ausgabe

Hallo zusammen,

mein script lief bis gestern abend ohne probleme, seit heute sind aber alle ausgaben doppel. kann mir bitte jemand weiter helfen bin grad am verzweifeln.

  
$s_option = 'AND a.unter_status=\''.$HTTP_POST_VARS['status'].'\' OR a.id = b.kunden_id AND b.apt_status=\''.$HTTP_POST_VARS['status'].'\'';  

  
$sql = "SELECT a.*, b.apt_status, b.kunden_id  
 FROM gcl_kunden a, gcl_kunden_abteilung b  
 WHERE a.unter_taetig != 'privatpers' $s_option  
 ORDER BY a.unter_firma";  
 if ( $result = $db->sql_query($sql) )  
 {  
     $firmen = array();  
     while ($row = $db->sql_fetchrow($result))  
     {  
  $firmen[] = $row;  
     }  
 }  
 $db->sql_freeresult($result);  

seit heute giebt er mir bei $firmen jeden eintrag doppelt.

danke für eure hilfe

  1. was steht denn in der datenbank? wenn du nichts verändert hast, wurde ggf. deine datenbank verwurstet (fehlerhafter datenimport oder ähnliches?)

    1. nein da ist alles in ordnung.
      hab grade nochmal in der DB nachgeschaut aber alle daten sind so wie sie sein sollen. 3 einträge keiner davon doppelt.

      nur bei der ausgabe sind auf einmal alle doppelt

      1. Hi,

        nein da ist alles in ordnung.
        hab grade nochmal in der DB nachgeschaut aber alle daten sind so wie sie sein sollen. 3 einträge keiner davon doppelt.

        3 Einträge, verteilt auf die 2 beteiligten Tabellen?

        cu,
        Andreas

        --
        Warum nennt sich Andreas hier MudGuard?
        O o ostern ...
        Fachfragen unaufgefordert per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
        1. nein
          ok hätte ich vieleicht dazusagen sollen.

          in der ersten tabelle a.* stehen die 3 daten sätze
          über der 2. wird nur kontrolliert ob die datensätzen aus
          der ersten tabelle auch zu dem daten der 2. tabelle gehören

          mfg

          1. Hi,

            ok hätte ich vieleicht dazusagen sollen.

            in der ersten tabelle a.* stehen die 3 daten sätze
            über der 2. wird nur kontrolliert ob die datensätzen aus
            der ersten tabelle auch zu dem daten der 2. tabelle gehören

            Du
            SELECT ... FROM tabelle1, tabelle2
            bildest du das Kreuzprodukt aus beiden Tabellen - also ist es nur logisch, dass du die Daten mehrfach erhaeltst.

            MfG ChrisB

            --
            „This is the author's opinion, not necessarily that of Starbucks.“
            1. SELECT ... FROM tabelle1, tabelle2
              bildest du das Kreuzprodukt aus beiden Tabellen - also ist es nur »» logisch, dass du die Daten mehrfach erhaeltst.

              hi

              aber bis gestern abend gab es noch keine doppelte ausgabe
              da hat es noch gefunzt.

              bzw wie bekomm ich das jetzt hin das nur 1 ausgabe erfolgt

              gruß

              1. Hi,

                bzw wie bekomm ich das jetzt hin das nur 1 ausgabe erfolgt

                Selektiere nur die Daten, die du ausgeben willst.

                (Um mehr dazu sagen zu koennen, fehlen immer noch wesentliche Informationen. Du hast lediglich dein Select-Statement hier hingeklatscht, ohne zu sagen, warum du das so machst, was du damit bezwecken willst, wie der Aufbau deiner Tabellen aussieht, etc.)

                MfG ChrisB

                --
                „This is the author's opinion, not necessarily that of Starbucks.“
                1. Hi,

                  bzw wie bekomm ich das jetzt hin das nur 1 ausgabe erfolgt

                  Selektiere nur die Daten, die du ausgeben willst.

                  (Um mehr dazu sagen zu koennen, fehlen immer noch wesentliche Informationen. Du hast lediglich dein Select-Statement hier hingeklatscht, ohne zu sagen, warum du das so machst, was du damit bezwecken willst, wie der Aufbau deiner Tabellen aussieht, etc.)

                  MfG ChrisB

                  und zu 1.? warum ging es jetzt 1.monat lang und heute auf einmal nicht mehr?

                  Ok
                  also es sollen nur die daten aus der 1. tabelle abgerufen werden
                  sollte in dieser tabelle keine daten per "WHERE" (zb. plz) gefunden werden soll die 2. tabelle überprüft werden ob da diese Daten vorhanden sind und ob diese zu tabelle 1 gehören, wenn ja soll tabelle 1 ausgegeben werden.

                  mfg

                  1. Hi,

                    und zu 1.? warum ging es jetzt 1.monat lang und heute auf einmal nicht mehr?

                    Wir koennen nicht wissen, warum der Unfug, den du programmiert hast, sich erst jetzt auswirkt :-)

                    also es sollen nur die daten aus der 1. tabelle abgerufen werden

                    Dann mach das:
                    SELECT ... FROM tabelle1;

                    sollte in dieser tabelle keine daten per "WHERE" (zb. plz) gefunden werden soll die 2. tabelle überprüft werden ob da diese Daten vorhanden sind

                    Wenn diese Daten vorhanden sind, warum stehen sie dann nicht in Tabelle 1 drin?

                    Dein Datenbankdesign scheint merkwuerdig zu sein - man koennte auch vermuten, dass es Murks ist, und ueberarbeitet gehoert.

                    und ob diese zu tabelle 1 gehören,

                    Und wie definiert sich "gehoeren dazu"?

                    wenn ja soll tabelle 1 ausgegeben werden.

                    In der war doch nichts drin, wieso willst du dieses Nichts jetzt ausgeben?

                    Ich bat dich um Praezisierung deiner Angaben - stattdessen stiftest du nur mehr Verwirrung und bringst weitere Unklarheiten.

                    MfG ChrisB

                    --
                    „This is the author's opinion, not necessarily that of Starbucks.“
                    1. Wenn diese Daten vorhanden sind, warum stehen sie dann nicht in Tabelle 1 drin?

                      Weil die daten zusammen zu umfangreich und teilweise unterschiedlich sind.

                      Tabelle 1 sind nur Firmen
                      in Tabelle 2 alle zugehörigen Abteilungen z.b. deren status unterschiedlich ist.

                      Und wie definiert sich "gehoeren dazu"?

                      wenn ich die firmen (aus tabelle 1) abfragen will deren abteilung(in tabelle 2) einen bestimmten status haben

                      mfg

                      1. Hi,

                        wenn ich die firmen (aus tabelle 1) abfragen will deren abteilung(in tabelle 2) einen bestimmten status haben

                        Beschaeftige dich mit JOINs.

                        SELFHTML Artikel: Einführung in Joins, Fortgeschrittene Jointechniken

                        MfG ChrisB

                        --
                        „This is the author's opinion, not necessarily that of Starbucks.“
                      2. Mahlzeit NuQDuj,

                        Wenn diese Daten vorhanden sind, warum stehen sie dann nicht in Tabelle 1 drin?
                        Weil die daten zusammen zu umfangreich und teilweise unterschiedlich sind.

                        Blablabla. Du willst anscheinend keine Hilfe - sonst würdest Du Dich nicht ständig winden und unklar daherschwafeln, sondern endlich mal wenigstens die Struktur Deiner Tabellen darlegen.

                        Und wie definiert sich "gehoeren dazu"?

                        wenn ich die firmen (aus tabelle 1) abfragen will deren abteilung(in tabelle 2) einen bestimmten status haben

                        ... was dann? Ist es Dir nicht möglich, in halbwegs vollständigen, verständlichen Sätzen Dein Problem so zu erläutern, dass auch Leute, die Deine Tabellenstruktur und deren Inhalt nicht kennen, ansatzweise verstehen, was Du meinst? Wieso denkst Du, dass Deine Leser funktionierende Glaskugeln oder einen Direktanschluss in Dein Gehirn haben?

                        Wenn Du qualifizierte Hilfe möchtest, dann beschreibe Dein Problem vernünftig und liefere sämtliche relevanten Informationen, die jemand haben muss, der Deine Datenbankstruktur nicht kennt. Wenn Du das nicht tust, kannst Du nicht ernsthaft erwarten, dass Dir hier jemand helfen kann: "keine Arme - keine Kekse".

                        MfG,
                        EKKi

                        --
                        sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|