Ankündigung

Einklappen
Keine Ankündigung bisher.

Mysql Join Abfrage

Einklappen

Neue Werbung 2019

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

  • Mysql Join Abfrage

    Hallo
    ich habe 4 Tabellen

    Room, Mix_Container, Mix_Container_Typ, Becken_Typ
    In Room ist die Room_Id und die Room_Nr.
    Im Mix_Container_Typ ist der Mix_Container_Typ_Name,
    Im der Becken_Typ Tabelle ist der Becken_Typ
    den ich benötige
    Da ich nur ganzen ID's der jeweiligen Tabellen in der Mix_Container abgespeichert habe, möchte ich nun ein join abfrage machen in der mir aus den anderen Tabellen die dazugehörigen Namen/Werte gezogen werden.

    PHP-Code:
    SELECT Room.Room_Nr,Becken_Typ.Becken_TypMix_Container.Becken_Info_IdMix_Container.Container_NrMix_Container_Typ.Mix_Container_Typ_NameMix_Container.VolumeMix_Container.Volume_CurrentMix_Container.Sensor_Dist_FullMix_Container.Sensor_Dist_EmptyMix_Container.Last_Time_CleanMix_Container.Last_Time_Change_MixMix_Container.Ideal_Temp
    FROM Mix_Container
    Mix_Container_Typ,Becken_TypRoom
    WHERE Mix_Container
    .Becken_Typ_Id =Becken_Typ.Becken_Typ_Id
    AND Mix_Container.Mix_Container_Typ_Id Mix_Container_Typ.Mix_Container_Typ_Id 
    Mit dem oben SELECT bekomme ich zwar alle Daten nur mit dem Problem das diese mir doppelt, dreifach oder vierfach ausgegeben werden.

    Irgendwie habe ich den Join nicht richtig geschrieben.
    Sieht jemand meinen Fehler?

    Gruß Jürgen


  • #2
    Du hast 4 Tabellen aber insgesamt nur 2 Verknüpfungen!
    Beim Join mit "Room" fehlt die Verbindung.

    Kommentar


    • #3
      Zitat von <Hotte> Beitrag anzeigen
      Du hast 4 Tabellen aber insgesamt nur 2 Verknüpfungen!
      Beim Join mit "Room" fehlt die Verbindung.
      Hallo,
      Danke genau das war es.

      Noch eine Frage.
      Ich arbeite hier mit UTF-8 Zeichensatz.
      Auf der Seite wird alles sauber ausgegeben.
      In meiner Mysqldb stehen jedoch die Umlaute mit seltsamen Zeichen drin also wohl nicht im UTF-8 Zeichensatz.

      in der DB habe ich im entsprechenden Feld
      utf8_general_ci
      angegeben.
      war das falsch?

      Gruß Jürgen

      ps. ich benutze mysqli.
      weiss nur nicht ob es nun an meiner db-einstellung liegt oder ob ich was in php mit mysqli vorbereiten muss

      Kommentar


      • #4
        Die Tabelle, Datenbank und die Verbindung selbst müssen ebenfalls UTF-8 sein!
        Competence-Center -> Enjoy the Informatrix
        PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

        Kommentar


        • #5
          Zitat von Arne Drews Beitrag anzeigen
          Die Tabelle, Datenbank und die Verbindung selbst müssen ebenfalls UTF-8 sein!
          Hallo,
          die Tabellen selbst sind alle in utf8_general_ci konfiguriert.
          die Webseite selbst wurde auch auf UTF-8 eingestellt.
          auf der Webseite wird alles sauber dargestellt nur wenn ich über phpmyadmin in die db schaue sehe ich das dort der Zeichensatz nicht angewendet wird bzw. das es ohne die richtige Kodierung eingetragen wurde.

          wo sollte ich also noch etwas einstellen das es auch in der db sauber eingetragen wird?
          Gruß Jürgen

          ps
          auch die ganze mysqldb ist mit
          Zeichensatz / Kollation der MySQL-Verbindung = utf8_general_ci
          konfiguriert
          dort steht auch
          MySQL-Zeichensatz: UTF-8 Unicode ( utf8 )

          Kommentar


          • #6
            Wie sieht die Verbindung mit der DB aus?
            Competence-Center -> Enjoy the Informatrix
            PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

            Kommentar


            • #7
              Zitat von Arne Drews Beitrag anzeigen
              Wie sieht die Verbindung mit der DB aus?
              PHP-Code:
              $mysqli = new mysqli($mysqlhost$mysqluser$mysqlpasswd$mysqldbname$mysqlport);
              if (
              $mysqli->connect_errno) {
                  echo 
              "Failed to connect to MySQL: (" $mysqli->connect_errno ") " $mysqli->connect_error;

              mehr habe ich darin nicht angegeben
              oder welche Verbindung meinst Du?

              Kommentar


              • #8
                Bspw. mysqli::set_charset
                Competence-Center -> Enjoy the Informatrix
                PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

                Kommentar


                • #9
                  Zitat von Arne Drews Beitrag anzeigen
                  ok, habs glaub ich verstanden.

                  ich muss den charset auch nach dem mysqlconnect setzen damit Daten in die DB mit diesem Charset übertragen werden.
                  Gut werde ich gleich heute abend mal testen.

                  Gruß Jürgen

                  Kommentar

                  Lädt...
                  X