Mief: MySQL Daten aus zwei Tabellen auslesen und alphabetisch ordnen.

Hallo Leute,
ich habe in MySQL eine Datenbank, in der ich die Informationen der Übersicht halber auf mehrere Tabellen aufgeteilt habe. Nun möchte ich aus mindestens zwei Tabellen Daten auslesen. Diese möchte ich dann Alphabetisch ordnen. Währe so etwas vielleicht mit Arrays lösbar (Muss es aber nicht)?

Wenn man Daten aus nur einer Tabelle ordnen möchte, ist das ja ganz einfach.

Danke für die Hilfe.

  1. Noch ein Nachtrag: Die Tabellen sind exakt gleich aufgebaut!

    1. Noch ein Nachtrag: Die Tabellen sind exakt gleich aufgebaut!

      Wenn du das Script nicht mehr anderweitig brauchst, wie wäre es, einfach beide Tabellen hintereinander in ein gemeinsames array einzulesen und dann zu sortieren?

      1. wie wäre es, einfach beide Tabellen hintereinander in ein gemeinsames array einzulesen und dann zu sortieren?

        Die Idee hatte ich auch, aber wie geht das?

        1. wie wäre es, einfach beide Tabellen hintereinander in ein gemeinsames array einzulesen und dann zu sortieren?

          Die Idee hatte ich auch, aber wie geht das?

          Puh, schwierig, da ich den Spaß erst lerne. Ich würde hier eine foreach-Schleife nutzen, die dann für jede Tabelle ins array schreibt. Nach dem Motto:

            
            
          foreach ($tabellen as $name) {  
            schreibe $name in $array[$key] = $value;  
          }  
            
          
          

          Also die Tabellen, die du auslesen willst, in ein array packen und dieses array dann Eintrag für Eintrag in das Ausgabearay schreiben. Somit kannst du dann auch mehr Tabellen eingeben.

          Man verzeihe mir bitte das grobe Konstrukt, denn in der Bearbeitung von DB stehe ich noch bei Null.

        2. Hallo Mief!

          Die Idee hatte ich auch, aber wie geht das?

          Ich habe auch erst vor kurzem gelernt, dass folgender Weg 'state of the art' sein sollte:

          Schritt 1 - Auslesen der Daten: Die Daten aus der DB werden ausgelesen und _unverändert_ und unsortiert in ein Array geschrieben. In diesem Schritt wendet man SQL Funktionen, die benötigt werden, an, also zB. Rechenoperationen, Zeitumwandlungen, etc. (Hier kann man natürlich auch Daten aus 2 Tabellen auslesen.)

          Schritt 2 - Sortierung und Formatierung: Nun werden die Daten für die clientseitige Ausgabe vorbereitet. Das heißt, sie werden so, wie ich sie für die Ausgabe brauche, sortiert und formatiert. Hier ist _unbedingt_ der Kontextwechsel zu beachten!

          Schritt 3 - Ausgabe der Daten: Im letzten Schritt werden jetzt die Daten aus dem 2. Array ausgelesen und ausgegeben.

          Das klingt zunächst viel zu aufwendig und umständlich aber ich habe die Erfahrung gemacht, dass dies der übersichtlichste und am besten zu verwaltende Weg ist. Ich arbeite jetzt _nur_ noch so.

          MfG

          Hugo Egon Balder

    2. Hallo,

      Noch ein Nachtrag: Die Tabellen sind exakt gleich aufgebaut!

      Warum stehen die Daten dann in zwei Tabellen? Und nein, "der Übersicht halber" ist keine Begründung.

      Gruß,
      Tobias

  2. Tach,

    ich habe in MySQL eine Datenbank, in der ich die Informationen der Übersicht halber auf mehrere Tabellen aufgeteilt habe.

    das solltest du dir nochmal überlegen.

    Nun möchte ich aus mindestens zwei Tabellen Daten auslesen. Diese möchte ich dann Alphabetisch ordnen. Währe so etwas vielleicht mit Arrays lösbar (Muss es aber nicht)?

    Du suchst UNION.

    mfg
    Woodfighter

    1. Tach!

      ich habe in MySQL eine Datenbank, in der ich die Informationen der Übersicht halber auf mehrere Tabellen aufgeteilt habe.
      das solltest du dir nochmal überlegen.

      Kleine Anmerkung, in welche Richtung man da überlegen kann: Um bei den Daten zu unterscheiden, in welche Tabelle sie kommen, gibt es sicherlich ein eindeutiges Kriterium. Wenn man nur einfach nur eine Tabelle erstellt mit diesem Kriterium als zusätzlichem Feld (so der Wert nicht bereits in den eigentlichen Daten enthalten ist), dann spart man nicht nur die doppelte Wartung und braucht sich auch die Zusammenführungsfrage nicht zu stellen. Auseinanderhalten kann man die Daten ja anhand des Kriteriums.

      dedlfix.