Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Tabellen verbinden und richtig ausgeben

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Tabellen verbinden und richtig ausgeben

    Hallo erstmal...hab folgendes Problem....ich hab die aufgabe einen stundenplan zu erstelllen mit php....ich hab nun meine datenbank wie folgt angelegt....



    ich hab dann ein paar testdatensätze eingeben....aber sobald ich beim stundenplan die sachen eintragen will hab ich äusserst kuriose werte dazustehen.....also es ist einmal nach ID sortiert und einmal nach alphabet...ich hätt gern nur eines^^



    also das wäre mein erstes problem...wie bekomme ich es hin das nur diese werte angeben werden ohne irgendwelche doofen zahlen?

    mein zweites problem ist die ausgabe der daten...wenn ich nun einen datensatz gespeichert hab....speichert er alles mit den richtigen IDs ab....nur wie schaff ich es via PHP die daten auszugeben?? bekomme bisher nur die ids ausgegeben und nich den eigentlich wert....


    hoffe ihr habt das soweit verstanden wo mein problem is....danke im voraus für jede anregung oder hilfe...thx panda

  • #2
    Hi.

    Dein erstes Problem verstehe ich nicht. Wie genau sieht den die ausgabe der Daten aus, oder wie genau stehen Sie drin? Wie sollen Sie den aussehen?
    Wie Du Dir mit PHP Daten ausgeben kannst, findest Du hier in den Tutorials, oder auf z.B. selfphp.de Wie sieht dein bisheriger Ansatz so aus?

    Wolf29
    while (!asleep()) sheep++;

    Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.

    Kommentar


    • #3
      Ich möchte gern das wenn ich in der Datenbank einen datensatz Hinzufüge....ich alles vorgegeben habe und nich wie in Bild 2 alles doppelt drin steht....

      Meine Ausgabe is ziemlich richtig ich ruf halt die daten vom stundenplan ab....nun hab ich ja die verlinkung drin...und hab gehofft das mir PHP....anstatt der IDs die dazugehörigen texte anzeigt.... denke das ich evtl. was falsch verbunden hab oder sowas

      Kommentar


      • #4
        Tja, wie Du jetzt deine Daten hinzufügst, sehe ich nicht, deswegen weiß ich auch nicht, wo dein Problem ist. Uvber phpmyadmin müsste sowas doch ohne Probleme gehen, oder nutzt du ein SQL Statement?

        Punkt 2: da wäre Code o.ä. nicht schlecht! Bisher gibst Du nur allg. Aussagen, zeigst aber nichts konkretes!

        Wolf29
        while (!asleep()) sheep++;

        Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.

        Kommentar


        • #5
          Moin.

          1.) Du könntest mal in der Tabelle stundenplan den Fremdschlüsseln auch den Datentyp TINYINT verpassen, vielleich erübrigt sich dann das Anzeigeproblem. Ansonsten ist es vielleich ein Feature von deinem DB-Tool, finde ich eigentlich ganz pratisch.

          2.) Die Werte zu den IDs musst du dir schon selbst besorgen. Geht ja auch nicht automatisch, was sollte z.B. bei User genommen werden, der Login- oder User-Name?
          Das kannst du erledigen, indem du die anderen Tabellen per JOIN (Einführung in Joins) mit abfragst.
          Was auch ginge, wären Subselects.

          Kommentar


          • #6
            Habs mit TINYINT probiert...hat sich nix verändert...
            es sollte der Username genommen werden
            okay hab befürchtet das ich das ganze mit Joints machen muss...versteh da bisher nur bahnhof....muss mich wohl leider doch genauer damit befassen

            EDIT: hab nochmal rumgeschaut ob das mit den verlinkungen klappt....undwenn ich in der Tabelle stundenplan über eine ID fahre....zeigt mir phpmyadmin an das diese ID zu lehrer meier gehört



            also warum bekommt das phpmyadmin auf die reihe aber wenn ich die tabelle in PHP ausgebe kommen nur die IDs?

            Kommentar


            • #7
              Zitat von peterpanda Beitrag anzeigen
              okay hab befürchtet das ich das ganze mit Joints machen muss...
              Joins bitte ohne "t"

              Das ist alles kein Hexenwerk. Du verbindest alle Tabellen an deine Basistabelle stundenplan über die jeweiligen PK/FK-Beziehungen. Ich habe es mir angewöhnt, dabei immer einen Alias zu vergeben. Mal als Beispiel für zwei Tabellen:

              Code:
              SELECT s.Datum, k.Klasse, f.Fach
              FROM stundenplan AS s
              INNER JOIN klasse AS k ON s.Klasse = k.K_ID
              INNER JOIN fach AS f ON s.Fach = f.F_ID
              usw...
              Sind die Felder optional in stundenplan, kannst du einen LEFT JOIN verwenden.

              Das wars schon, ist doch nicht schwer, oder?

              Kommentar


              • #8
                Also is dieser Join befehl nix anderes als
                Nimm Spalte 1 aus tabelle1 und ersetze sie durch Spalte 2 aus tabelle 2?

                Kommentar


                • #9
                  Zitat von peterpanda Beitrag anzeigen
                  Also is dieser Join befehl nix anderes als
                  Nimm Spalte 1 aus tabelle1 und ersetze sie durch Spalte 2 aus tabelle 2?
                  Nein, so ist es nun auch wieder nicht. Beim JOIN machst du aus den vielen kleinen Tabellen eine große, vereinfacht gesagt. Du kannst ja mal SELECT * machen, dann siehst du es.

                  So, ich muss jetzt erstmal weiterarbeiten...

                  Kommentar

                  Lädt...
                  X