Datensätze aus 2 verschiedenen Tabellen sortieren

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

  • Datensätze aus 2 verschiedenen Tabellen sortieren

    Hallo,

    ich habe einen Kalender aus aus 2 Tabellen sich die Termine holt.
    Mein Problem ist das ich es nicht hinbekomme das er die Daten nach Uhrzeit sortiert.

    Mir hat mal jemand gesagt es würde mit arrays klappen das ich die Daten de Tabellen in einen array schreibe und dort sortieren lasse nach Datum.

    Kann mir da jemand weiterhelfen.

    Wäre zum Dank verplichtet.

  • #2
    array_multisort() wäre dann dein freund.

    oder
    du fragst die tabellen geschickter ab (joins, datumsfunktionen).
    Kissolino.com

    Kommentar


    • #3
      Das hört sich ja schon mal gut an, nur mein problem ist es jetzt deinen Tip in die realität umzusetzen da meine php und mysql kentnisse noch etwas beschränkt sind.

      Kommentar


      • #4
        schau mal in die codeschnipsel, zu array_multisort() gibts da was.
        Kissolino.com

        Kommentar


        • #5
          Hallo webINspirit,

          ich glaube auch, dass sich deine Probleme bereits auf Datenbankebene lösen lassen - damit kann unnötiger PHP-Code vermieden werden.

          Beschreibe bitte mal kurz deine beiden Tabelle (Name, Primärschlüssel, wie die Daten ermittelt werden) - dann kann ich dir bei der SQL-Syntax helfen ... denke ich

          Kommentar


          • #6
            Danke schon mal für dein Angebot!!!

            So siehen die Abfragen aus
            PHP-Code:
            $sql "SELECT * FROM ".$tabelle." WHERE von='".$year."-".$new_month_num."-".$new_day."' AND check=1 ORDER BY von ASC";

            $sql2 "SELECT * FROM ".$tabelle2." WHERE jahr='".$year."' AND monat='".$new_month_num."' AND tag='".$new_day."' ORDER BY uhr, text ASC";

            $result mysql_query($sql$link) or die(mysql_error());
            while(
            $row mysql_fetch_array($result))
            {
            echo 
            "<font  face=Arial size=1>".$row[uhr]." ".$row[text]."</font><br>";
            }

            $result2 mysql_query($sql2$link) or die(mysql_error());
            while(
            $row2 mysql_fetch_array($result2))
            {
            echo 
            "<font  face=Arial size=1>".$row2[uhr]." ".$row2[text]."</font><br>";

            Alles liegt in einer Schleife die jeden Tag des Monats nacheinander abfragt.
            Es kann auch vorkommen das mehre Einträge pro Tag ein einer Tabelle stehen.

            Kommentar


            • #7
              komme leider nicht weiter

              Ich noch mal,
              komme leider nicht weiter mit meinem Problem.
              Habe es mit array_multisort() ausprobiert und mit join.
              Das Problem ist das alle tabellen unterschiedlich sind,
              sie haben keinen punkt wo sie identisch sind.

              Es ist für einen Veranstaltungskalender, wo aus mehrern
              tabellen die veranstaltungen herausgesucht werden.
              In allen ist das Datum anders gespeichert.

              Ich müsste die Tabellen nach Datum auslesen und dann können erst alle einträge nach Uhrzeit sortiert werden.

              Kann mir da jemad weiterhelfen.

              Kommentar


              • #8
                versuch mal lieber einen join.
                Beantworte nie Threads mit mehr als 15 followups...
                Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

                Kommentar


                • #9
                  Wie soll ich denn einen join machen wenn ich kein Eintrag habe der in den Tabellen identisch ist??

                  Kommentar


                  • #10
                    warum hast Du dann termine in zwei tabellen?
                    Beantworte nie Threads mit mehr als 15 followups...
                    Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

                    Kommentar


                    • #11
                      In der einen Tabelle stehen die ganzen normalen Termine die jede Woche sind und in der anderen besondere Veranstaltungen. Es werden beide einzelln ausgelesen und verwaltet von verschiedenen Personen.

                      Das i-tüpfelchen an der ganzen sache ist der Kalender den ich gebastelt habe. Er generiert jeden monat und zeigt mir an auch mit den richtigen Wochentagen.

                      Das Problem ist jetzt nur das die Uhrzeiten der Termine beim auslesen der Tabellen sortiert werden aber nicht Tabellen übergreifend.
                      __________________________________________
                      kleines bsp.:

                      Mittwoch
                      1

                      18:00 Geburtstage Ernie <- Eintrag aus tabelle 1
                      09:00 Schlittschuhlaufen <- Eintrag aus tabelle 2
                      19:00 Kino <- Eintrag aus tabelle 2
                      ___________________________________________

                      So würde ich es gerne haben.:

                      Mittwoch
                      1

                      09:00 Schlittschuhlaufen <- Eintrag aus tabelle 2
                      18:00 Geburtstage Ernie <- Eintrag aus tabelle 1
                      19:00 Kino <- Eintrag aus tabelle 2

                      Kommentar


                      • #12
                        Auch wenn Du jetzt deinen baseballschläger holst ich finde das i tüpfelchen dummsinn, denn wo ist der unterschied zwischen einem termin der monatlich, wöchentlich oder jährlich vorkommt?
                        richtig die periode in der er sich wiederholt, also brauchst Du auch nur eine Tabelle.

                        gebastelt scheint das richtige Wort.
                        Beantworte nie Threads mit mehr als 15 followups...
                        Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

                        Kommentar


                        • #13
                          Du hst noch nicht verstanden was ich damit meine.
                          Es laufen die beiden Tabellen jetzt schon eine weile und
                          werden auch verwaltet die eine Tabelle hat 9 spalten weil dort
                          noch haufenweise hintergrund kram gebraucht wird.
                          Die andere ist eine art Wochenplaner mit 3 spalten.

                          Ich wollte die beiden vorhandenen jetzt nur kombinieren und
                          Elegant auslesen lassen für eine member-seite wo die anderen
                          dann sich den Monatsplaner anschauen können und nicht die
                          Datenbank umstricken.

                          Kommentar


                          • #14
                            wenn du gar nix umstricken willst (was ich dir aber raten würde), dann:

                            temporäre tabelle anlegen, die daten der beiden tabellenda reinkopieren und mit der tabelle arbeiten
                            Ich denke, also bin ich. - Einige sind trotzdem...

                            Kommentar


                            • #15
                              ich glaube ich hab das schon verstanden und halte dein konzept für nicht wirklich durchdacht. Ich würde lieber die datenbank neu designen und ein neues Script schreiben als bei jedem problem einen super komplizierten code zusammenbasteln, und den dann als i tüpfelchen bezeichnen.
                              Du kennst sicher kosten und aufwandskurven bei schlechter softwareplanung
                              Beantworte nie Threads mit mehr als 15 followups...
                              Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

                              Kommentar

                              Lädt...
                              X