Bestimmte Zuweisung aus DB ausgeben

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

  • Bestimmte Zuweisung aus DB ausgeben

    Hi,
    folgendes und zwar lass ich mir mit folgendem Code, Daten aus drei DB´s mittels Join ausgeben. Klappt soweit auch.
    Nur will ich nun dass bei manchen Namen eben folgendes passiert:

    Kleines Beispiel
    Geschäftsleitung:
    Name1
    Name2
    Name3
    Assistenten
    Name4
    Name5
    Name6

    Die ganzen Namen sind unter Geschäftsleitung gespeichert, Name4-6 haben aber noch den Zusatzt Assistenten, nun stellt sich die Frage wie stelle ich es an dass genau bei den Namen die den Vermerk Assistenten drüber steht und nicht bei allen, ich habs mit einer IF-Abfrage schon versucht wie man im Code sieht, aber klappt irgendwie nicht so ganz.
    Ich hoffe ich habe es einigermaßen verständlich erklärt.

    PHP-Code:
    case "1":
             
    $sql "SELECT T1.*,T2.*,T3.* FROM telefonliste T1 JOIN
     firmenliste T2 JOIN abteilungsliste T3
     WHERE T1.Firma = T2.ID AND T2.ID='1' AND T3.ID='2'"
    ;
             
    $result mysql_query($sql) OR die(mysql_error());
             
    $i 1;
             while(
    $row mysql_fetch_assoc($result))
             {
             if (
    $row['Abteilung'] == 2){echo $row['Abteilung'];}
             if (
    $i 2) echo "<tr>\n"; else echo "<tr bgcolor=\"#eeeeee\">\n";
             echo 
    "<td>\n</td><td>".$row['Nachname']."</td>
    <td>"
    .$row['Vorname']."</td>
    <td>"
    .$row['Telefon']."</td>\n</tr>\n";
             
    $i += 1;
             }
             break; 
    Danke schonmal!!
    Markus

  • #2
    Wie sieht denn der Zusatz 'Assistent' aus? Falls es ein Attribut in deiner DB ist, versuchs mal mit GROUP BY.

    Kommentar


    • #3
      Assistenten ist in der DB Abteilungen drin oder was meinst du genau?

      Das Problem ist, sobald ich GROUP BY oder Limit oder ähnliches mache dann macht er das ja auch mit der restlichen ausgabe und das will ich ja verhindern.
      Zuletzt geändert von mrpiper; 07.12.2005, 15:30.

      Kommentar


      • #4
        Verstehe nicht ganz ...

        Natürlich sind die DB-Ergebnisse nicht nur in einer Spalte gruppiert, dann wären schließlich alle Datensätze vermischt!

        Gib mal bitte einen Auszug aus der DB und die gewünschte Ausgabe.

        Kommentar


        • #5
          Aber genau so eine Vermischung bräuchte ich ja im Prinzip oder wäre es besser nochmal eine SQL-Abfrage nur für die Abteilungen zu machen, damit eben nur immer einmal die Abteilung ausgegeben wird?

          meintest du das?
          PHP-Code:
          -- 
          -- 
          Tabellenstruktur für Tabelle `abteilungsliste`
          -- 

          CREATE TABLE `abteilungsliste` (
            `
          IDint(11NOT NULL auto_increment,
            `
          Abteilungvarchar(50collate latin1_general_ci NOT NULL default '',
            
          PRIMARY KEY  (`ID`)
          ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=;

          -- 
          -- 
          Daten für Tabelle `abteilungsliste`
          -- 

          INSERT INTO `abteilungslisteVALUES (1'');
          INSERT INTO `abteilungslisteVALUES (2'Assistenten'); 

          Kommentar


          • #6
            Nein du möchtest keine Vermischung sondern so joinen, dass du dann mit GROUP BY abteilungsliste.abteilung arbeiten kannst. Mischen heißt nämlich zufällige Zuordnung und du kannst nicht wollen, dass dein Chef plötzlich zum Assi wird.

            Kommentar


            • #7
              Ok stimmt auch wieder
              Sorry tu mich damit noch etwas schwer weil ich noch nicht solange mit php programmiere.
              Aber dann versuche ich es mal mit deinem Tip, falls das einer war
              Hmm ich habs mir mal überlegt und irgendwie habe ich doch schon alle DB miteinandern verjoint, aber das group klappt net..
              Zuletzt geändert von mrpiper; 07.12.2005, 16:12.

              Kommentar

              Lädt...
              X