Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Zuordnung

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Zuordnung

    Hallo,
    habe ne kleine Frage Ich habe ne tabelle (sagen wir 2(rows)x3(columns)), die ungefähr so aussieht:

    id wert
    1 wert1
    2 wert2
    3 wert3

    Jede ID hat ne bestimmte Zuordnung z.B. 1 - Sonne, 2 - merkur, 3 - venus; Kann man iwie ids durch diese Zuordnungen (auf der Seite! und nicht in der Datenbank) ersetzen? Danke im Voraus.

  • #2
    Wie meinst du das ? Also der Parser fährt deine Tabelle einmal ab, danach möchtest du den Variablen von dem Array andere bzw. neue Werte zuweisen ?

    Kommentar


    • #3
      Ja zeig uns doch mal nen Beispiel. Wie sieht die Tabelle aus (HTML Code?), was genach macht das Skript (woher weiß es welche IDs ersetzt werden sollen) und wie sieht die Tabelle danach aus (HTML Code?).

      Kommentar


      • #4
        PHP-Code:
        <?php
        $host
        ='IP';
        $login='USER';
        $pass='PASSWORD';
        $db='DATABASE';
        $where='planet=1';
        mysql_connect($host,$login,$pass) or die('No connection possible.');
        mysql_select_db($db) or dir('Table does not exist.');
        $data=mysql_query("SELECT * FROM sonnensystem WHERE $where") or die('No connection possible');
        echo 
        '<center><h1>Planete des Sonnensystems</h1></center>';
        echo 
        "<table><tr><th>Planet</th><th>Masse</th></tr>\n";
        $n=1;
        while (
        $top=mysql_fetch_array($data))
        {
        echo 
        "<tr><td>$top[id]</td><td>$top[wert]</td></tr>\n";
        $n++;
        }
        echo 
        '</table></center>';
        ?>
        Wie man sieht, der Name wird ins Feld als eine Zahl eingetragen. Mein Ziel ist 1 durch eine Zuordnung (z.B Sonne) ersetzen. So, hoffe, es ist klarer geworden

        Kommentar


        • #5
          Ich versteh es immer noch nicht, wo wird eine Zahl eingetragen? Ich seh da nur $top[id] und $top[wert]. UND WAS ist die entsprechende Zuordnung? Ich sehe nirgendwo eine Zuordnung id -> Name.

          Kommentar


          • #6
            Wie ist deine Datenbank aufgebaut?

            [Tabelle `sonnensystem`]
            Feld `id`: ?
            Feld `wert`: Die Masse des Planeten?
            Feld `planet`: ?
            Feld `level`: ?

            Wo stehen die Namen?
            Gibt es mehrere Sonnensysteme oder nur eins?
            Wird der Name "Venus" mehrmals benutzt oder nur einmal?

            Kommentar


            • #7
              PHP-Code:
              echo "<tr><td>$top[id]</td><td>$top[wert]</td></tr>\n"
              Also wenn muss es schon
              PHP-Code:
              echo "<tr><td>{$top['id']}</td><td>{$top['wert']}</td></tr>\n"
              heißen. War das dein Problem?
              MfG

              Kommentar


              • #8
                Zitat von Flor1an Beitrag anzeigen
                Ich versteh es immer noch nicht, wo wird eine Zahl eingetragen? Ich seh da nur $top[id] und $top[wert]. UND WAS ist die entsprechende Zuordnung? Ich sehe nirgendwo eine Zuordnung id -> Name.
                Das war meine Frage, ob es iwie möglich sei, so ne Zuordnung durchzuführen.

                Ich habe

                * ne Tabelle

                PHP-Code:
                DROP TABLE IF EXISTS `sonnensystem`;
                CREATE TABLE `sonnensystem` (
                  `
                iddecimal(10,0NOT NULL,
                  `
                werttext NOT NULL,
                  `
                planetdecimal(10,0NOT NULL
                ENGINE=MyISAM DEFAULT CHARSET=latin1;

                -- ----------------------------
                -- 
                Records of sonnensystem
                -- ----------------------------
                INSERT INTO `sonnensystemVALUES ('1''1,989 x 1030 kg''0');
                INSERT INTO `sonnensystemVALUES ('2''3,302 x 1023 kg''1');
                INSERT INTO `sonnensystemVALUES ('3''4,869 x 1024 kg''1');
                INSERT INTO `sonnensystemVALUES ('4''5,974 x 1024 kg''1');
                INSERT INTO `sonnensystemVALUES ('5''6,419 x 1023 kg''1'); 
                * php-Seite

                $top[id] - gibt den Wert aus der Tabelle (aus der Spalte ID) aus
                $top[wert] - gibt den Wert aus der Tabelle (aus der Spalte wert) aus

                Die Seite sieht dann so aus



                P.S.
                1 - Sonne
                2 - Merkur
                3 - Venus
                4 - Erde
                5 - Mars

                Kommentar


                • #9
                  Der Inhalt der Tabelle und Weiteres ist mir irrelevant, dieses beispiel dient nur dazu, um mein Ziel klarer zu machen. Was braucht man dazu, um ne Zuordnung durchzuführen: eine zusätzliche Datenbank? ob das mittels PHP machbar, eine .txt-Datei, wo alle Zuordnungen drin stehen oder sonst was.
                  Danke =)

                  Kommentar


                  • #10
                    Was für eine Zuordnung?

                    Normalerweise stehen doch alle Daten in der DB (am besten in einer Tabelle, falls nicht möglich über einen Join die restlichen Daten holen)
                    Code:
                    planetid planetname           masse
                    1              sonne          wievielAuchImmer
                    2              erde             nochmalWasAuchImmer
                    Dann wird bei der Schleife alles schön ausgegeben.
                    PHP-Code:
                    echo 'Name : ' $row['planetname'] . ' masse: ' $row['masse']; 

                    Kommentar


                    • #11
                      Du kannst auch sowas machen:

                      PHP-Code:
                      $planeten = array(
                        
                      => 'Sonne',
                        
                      => 'Erde',
                        
                      => 'Merkur'
                      );

                      // hier der rest von dienem skript bis zur Schleife und dann:
                      echo "<tr><td>".$planeten[$top[id]]."</td><td>".$top[wert]."</td></tr>\n"
                      Woher das Array oben kommt ist egal (ob aus der Datenbank, Textdatei oder direkt in PHP).

                      Ansonsten wenn du eine extra Tabelle in der DB erstellen möchtest in der die Planeten (id, Name) liegen dann solltest du dir mal JOINs anschauen!

                      Kommentar


                      • #12
                        Zitat von ragtek Beitrag anzeigen
                        Was für eine Zuordnung?
                        1 der Sonne
                        2 dem Merkur
                        und so weiter

                        Alles was ich brauche, ist nur die Ausgabe (was auf der Seite angezeigt wird) auf der Seite (wenn möglich) mittels PHP zu ändern. Die tabelle zu ändern

                        planetid planetname masse
                        1 sonne wievielAuchImmer
                        2 erde nochmalWasAuchImmer
                        passt mit nicht, da es zu überflüßig wird. Wie ich schon mehrmals gesagt habe, das ist nur ein Beispiel, was wäre wenn n Gegenstand in der Spalte "Zustand" 0 oder 1 haben könnte. 0 steht für - alt, 1 für - neu. Ich soll dann ne weitere Spalte hinfühen. Dies ist keine Lösung. Na klar, ich bin kein Profi, ich kann mich nicht richtig ausdrücken und mit den Fachwörtern mein Problem nicht erklären.

                        Kommentar


                        • #13
                          Zitat von Flor1an Beitrag anzeigen
                          Du kannst auch sowas machen:

                          PHP-Code:
                          $planeten = array(
                            
                          => 'Sonne',
                            
                          => 'Erde',
                            
                          => 'Merkur'
                          );

                          // hier der rest von dienem skript bis zur Schleife und dann:
                          echo "<tr><td>".$planeten[$top[id]]."</td><td>".$top[wert]."</td></tr>\n"
                          Woher das Array oben kommt ist egal (ob aus der Datenbank, Textdatei oder direkt in PHP).

                          Ansonsten wenn du eine extra Tabelle in der DB erstellen möchtest in der die Planeten (id, Name) liegen dann solltest du dir mal JOINs anschauen!
                          Danke, deine Antwort scheint mir hilfsreich zu sein.

                          Kommentar


                          • #14
                            PHP-Code:
                            $top[id// falsch
                            $top['id'// richtig 
                            sofern id nicht als Konstante festgelegt wurde.
                            Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

                            Kommentar


                            • #15
                              Zitat von lstegelitz Beitrag anzeigen
                              sofern id nicht als Konstante festgelegt wurde.
                              Wäre aber irgendwie sinnlos konstante Werte per Schleife auszugeben^^
                              MfG

                              Kommentar

                              Lädt...
                              X