Hilfe: Arrays mehrdimensional?

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

  • Hilfe: Arrays mehrdimensional?

    Diese Arrays möchte ich automatisieren,
    doch wer kann mir erklären, wie ich
    dabei vorzugehen habe und was ich zu beachten habe?
    (Bitte keine Lösungen, nur Ansätze & Hilfen)

    PHP-Code:
    //erste Spalte (1 Eintrag) entspricht unten folgendem Code $i
    //zweite Spalte (1 oder mehrere Einträge) entspricht unten folgendem Code $j
    var valuesSelectField1 = {
    "0" "1000,1001" ,
    "1" "1004,1007" ,
    "2" "1003"
    };

    //erste Spalte (1 Eintrag) entspricht unten folgendem Code $j
    //zweite Spalte (1 Eintrag) entspricht unten folgendem Code $wert2_ausDB
    var valuesSelectField2 = {
    "1000" "Imaginärer Eintrag A",
    "1001" "Imaginärer Eintrag B",
    "1004" "Imaginärer Eintrag C",
    "1007" "Imaginärer Eintrag D",
    "1003" "Imaginärer Eintrag E"
    }

    //so sieht mein bisheriger code aus

    $i 0;
    $j 1000;

    while(...)
    {
     
    $i++;

     echo 
    $wert1_ausDB;

               while(...)
               {
                
    $j++;

                echo 
    $wert2_ausDB;
               }


  • #2
    du hast mal wieder vergessen zu erklären, worum es geht und mischst verschiedene sprachen. weiter so!

    Kommentar


    • #3
      Der obere Teil ist JS und soll mir dabei helfen,
      wenn ich in einem select menü value 1 wähle,
      dass dann automatisch in einem weiteren select menü
      die dázugehörigen Unterpunkte erscheinen: 1000, 1001.

      Der unterste Code ist PHP und spiegelt meine Datenbankabfrage wieder.

      Kommentar


      • #4
        Und was ist jetzt dein Problem? Also ich sehe weder ne JS-Funktionalität noch sonst irgendwas...

        Kommentar


        • #5
          und was klappt nicht? werde nicht schlau daraus.

          Kommentar


          • #6
            Mein Probelm ist, dass ich nicht verstehe, wie ich
            ein Array innerhalb der while() Schleifen erzeugen kann,
            sodass es aussieht wie die manuellen Eingaben
            von var valuesSelectField1 und var valuesSelectField2.

            Später soll es dann so aussehen,
            nur leider scheint mir die Umsetzung nicht so einafch,
            weil die Arrays wie bereits gepostet aussehen sollen:
            PHP-Code:
            var valuesSelectField1 = {
            "$i"$j"
            };

            var 
            valuesSelectField2 = {
            "$j"$wert2_ausDB"
            }

            // anstelle von

            var valuesSelectField1 = {
            "0" "1000,1001" ,
            "1" "1004,1007" ,
            "2" "1003"
            };

            var 
            valuesSelectField2 = {
            "1000" "Imaginärer Eintrag A",
            "1001" "Imaginärer Eintrag B",
            "1004" "Imaginärer Eintrag C",
            "1007" "Imaginärer Eintrag D",
            "1003" "Imaginärer Eintrag E"

            Zuletzt geändert von kerbstone; 03.08.2007, 15:04.

            Kommentar


            • #7
              Du kennst echo? Da hast du uns gegenüber schonmal nen Vorteil, weil wir nämlich deine DB-Struktur nicht kennen.

              PHP-Code:
              echo 'var valuesSelectField1 = {'
              while($row mysql_fetch_assoc($result))
                echo 
              '"' $row['i'] .'" : "'' . $row['j'] . '"' . "\n";
              echo '};'; 
              ist jetzt nicht soo schwer. das wendest du jetzt auf deine struktur an und gut ist,

              Kommentar


              • #8
                Danke TobiaZ.
                PHP-Code:
                //Für die Struktur
                echo 'var valuesSelectField1 = {'
                while($row mysql_fetch_assoc($result))
                  echo 
                '"' $row['i'] .'" : "'' . $row['j'] . '"' . "n";
                echo '};';
                //erhalte ich "
                0" : "1001"
                //"
                0" : "1002"

                //das muss ich noch irgendwie sortieren...
                //gibt es hierzu sowas wie "
                GROUP BY" in mysql? 
                Meine Ausgabe sieht nun so aus:

                PHP-Code:
                $i 0;
                $j 1000;

                while(...)
                {
                 
                $i++;

                 echo 
                $wert1_ausDB;

                           while(...)
                           {
                            
                $j++;

                                echo 
                "<b>'$i' : '$j'</b><br>";
                           }
                }

                // echo ergibt
                '1' '1002'
                '1' 
                '1003'
                '1' 
                '1004'
                '2' 
                '1011'
                '2' 
                '1012'
                '3' 
                '1014'
                '3' 
                '1015' 
                Jetzt möchte ich natürlich nicht alles einzeln aufgelistet haben,
                sondern möchte alle Werte für 1 hintereinander schreiben,
                was auch für die Folgewerte gelten soll.

                PHP-Code:
                //soll dieses ergeben
                '1' '1002, 1003, 1004',
                '2' '1011, 1012',
                '3' '1014, 1015' 
                Zuletzt geändert von kerbstone; 03.08.2007, 15:55.

                Kommentar


                • #9
                  dann überdenk mal, was diese schleife macht, und frag dich dann, warum es so aussieht, wie es aussieht:

                  PHP-Code:
                  while(...)
                             {
                              
                  $j++;

                                  echo 
                  "<b>'$i' : '$j'</b><br>";
                             } 
                  btw: code macht das, was du ihm sagst
                  **********
                  arkos
                  **********

                  Kommentar


                  • #10
                    Danke , ich überdenke nochmal was ich gemacht habe
                    und poste ggf. die Lösung.

                    Kommentar


                    • #11
                      ach komm, weil freitag is und hier die sonne scheint:

                      PHP-Code:
                      echo "<b>'".$i."' : '";
                      while(...)
                                 {
                                  
                      $j++;

                                      echo 
                      $j.", ";
                                 }
                      echo 
                      "',</b><br />"
                      **********
                      arkos
                      **********

                      Kommentar


                      • #12
                        Danke ^^

                        Hast du auch eine Idee, wie ich bei dem jeweils letztem Wert
                        von $j, der $i untersteht, das Komma weglassen kann?

                        $i meinetwegen hat 6 werte ($i=1; $i=2; etc.) und $j hat
                        12 Werte ($j=1000; $j=1001; $j=1003; etc.).
                        jetzt unterstehen zb $i mit dem wert 2 die werte
                        1000 und 1003 von $j.
                        wie bekomme ich nun heraus, ob $j das letzte ergebnis also 1003 ist?

                        Kommentar


                        • #13
                          da brauchst du gar nicht so kompliziert zu denken.
                          jetzt benutzt du ja echo. später soll es ja eine variable sein, die du später ausgeben kannst.

                          wenn du aus der while schleife raus bist, nimmst du einfach die letzten zwei stellen (also das letzte ", ") mit einem string befehl wieder weg, bevor das (in dem falle noch) abschließende echo "',<b><br />"; kommt. fertig.
                          **********
                          arkos
                          **********

                          Kommentar

                          Lädt...
                          X