von Datenbank ins array

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

  • von Datenbank ins array

    Hallo Liste

    Ich habe ein Problem und ich hoffe es kann mir eine/r einen Tipp geben.
    Zuerst lese ich die Werte einer bestimmte Spalte einer Datenbanktabelle aus und sortiere diese.
    PHP-Code:
    $sql "select spalte_x from test where benutzername = testuser order by spalte_x";
    $result pg_query($sql) or die ("Datenbank ist nicht erreichbar");
            if(
    pg_num_rows($result) > 0) {
                            while (
    $row pg_fetch_array($result)) {
                                    
    $reihenfolge[] = $row['spalte_x'];
                            }
            } 
    Das funktioniert soweit. Diese Ergebnisse möchte ich nun in einer Html Seite in einem Drop Down Feld (select) zur
    Verfügung stellen. Es ist als Affenformular geschrieben.
    PHP-Code:
     $sample = array('--' => '--''hier' => 'hier''soll' => 'soll''das' => 'das'
    'result' => 'result''von' => 'von''der ' => 'der''sql' => 'sql'
    'Abfrage' => 'Abfrage''rein' => 'rein');
         echo 
    '<select name="spaltenwert">';
         foreach (
    $sample as $wert => $text) {
            if (
    $_REQUEST['spaltenwert'] == $wert) { 
                echo 
    '<option value="'.$wert.'" selected="selected">'.$text.'</option>';}
            else { echo 
    '<option value="'.$wert.'">'.$text.'</option>';}
                          } 
    Dieses funktioniert auch.
    Das Problem:
    Wie kann man das so einbauen, dass die Werte der SQL Abfrage in das Array mit übernommen werden. Also
    das Prinzip folgender Anweisung, aber nur im Array.

    PHP-Code:
    foreach ($reihenfolge as $spalte_x) { echo ", '".$spalte_x."' => '".$spalte_x."' ";  } 
    Leider drehe ich mich bei der Lösungsfindung schon seit Stunden immer nur im Kreis, und hoffe, ich habe dies nicht zu
    kompliziert erklärt. Vielleicht kann mir jemand einen hilfreichen Tipp geben.

    Danke für Eure Hilfe im Voraus

    jay-ar
    Zuletzt geändert von jay-ar; 12.12.2006, 21:01.

  • #2
    Ich bin mir echt alles andere als sicher, ob ich dich richtig verstanden habe... Für den Fall, dass ich dich richtig verstanden habe, verstehe ich Sinn und Zweck des Ganzen nicht. Du hast die Ergebnismenge doch schon in Form eines Arrays vorzuliegen. Was hindert dich dann daran, dieses mit foreach zu durchlaufen und die select-Liste zu generieren?
    Nieder mit der Camel Case-Konvention

    Kommentar


    • #3
      1. warum lässt du nicht sql sortieren? füge ORDER BY ein und du kannst im selben zug (sprich, in der selben schleife) ausgeben.

      2. warum willst du das array ausgerechner so aufbauen? wenn du den wert hast, dann hast du ihn, egal, ob als key oder als value.

      Kommentar


      • #4
        Wie kann man das so einbauen, dass die Werte der SQL Abfrage in das Array mit übernommen werden. Also
        das Prinzip folgender Anweisung, aber nur im Array.
        Ich kapier nicht ganz welche Werte du meinst. Du hast doch bereits ein Array mit den Werten deiner MySql-Abfrage. Welche anderen Werte meinst du denn ? Etwa die Spaltennamen ?
        Bring bitte etwas Licht ins Dunkel...

        Gruss

        tobi
        Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

        [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
        Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

        Kommentar


        • #5
          Vielen Dank für die Antworten Eigentlich waren es ja mehr Fragen


          Hier nochmal der logische Ablauf

          Ersteingabe der Daten
          1. alle Werte in einer Spalte suchen die einem bestimmten Benutzer gehören
          2. alle gefundenen Werte so einbauen, dass diese in einem input tag einer Html Seite als select Abfrage
          genutzt werden (Drop Down Menü).
          3. dabei soll aber der erste(default) Wert des Drop Down Menüs nicht der erste Wert der sql abfrage sein
          sondern '--' => '--' . Was soviel bedeutet, wie keine Auswahl.
          4. Das Affenformular soll dabei erhalten bleiben
          5. diese Werte werden in eine Tabelle geschreiben

          Nun möchte ich auch diese Daten wieder verändern können
          1. siehe oben
          2. siehe oben
          3. Abfrage des oben gespeicherten Datenfeldes(Wert). Wenn bei Ersteingabe keine Auswahl erfolgte('--') dann ist '--' jetzt
          der default Wert. Ansonsten ist es der Wert, der bei Ersteingabe im Drop Down ausgewählt wurde. In dem Falle sollte
          im Drop Down Menü als zweites '--' stehen, und danach die anderen aus Punkt 2
          4. siehe oben
          5. siehe oben

          Das Hauptproblem besteht eigentlich, dass zu dem array noch was mit eingefügt werden soll. Da fehlt mir momentan der Lösungsansatz.

          Danke für Eure Hilfe und Geduld

          jay-ar

          PS: ORDER BY habe ich oben eingebaut und geändert.
          Zuletzt geändert von jay-ar; 12.12.2006, 21:04.

          Kommentar


          • #6
            Original geschrieben von jay-ar
            Das Hauptproblem besteht eigentlich, dass zu dem array noch was mit eingefügt werden soll.
            Was denn, nur das '--'?

            Dann füg's doch bereits von vornherein als Initialwert ins Array ein - bevor du die Werte aus der Db dazuliest.
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              Hallo Wahsaga

              Danke für die schnelle Antwort
              Ja, das '--' und beim Bearbeiten wenn bei Erstanlage ein Wert abgespeichert wurde ,den dann vor dem '--'.
              Hast Du vielleicht einen passenden Link parat, in dem das mal "anfängertauglich" erklärt wird.
              Vor lauter Dokus und Beispielen zu array lesen bin ich "verwirrter" als vorher.

              Danke

              jay-ar
              Zuletzt geändert von jay-ar; 12.12.2006, 21:55.

              Kommentar


              • #8
                Das ist schon ein individuelles Problem, da kannst du keine Standardlösung erwarten.

                Ja, das '--' und beim Bearbeiten wenn bei Erstanlage ein Wert abgespeichert wurde ,den dann vor dem '--'.
                Für letzteres willst du also die Reihenfolge der Werte im Array ändern.

                array_slice oder array_splice zum "Ausschneiden" des gesuchten Wertes, array_unshift oder array_merge zum wieder Einfügen an den Anfang ... o.s.ä.
                I don't believe in rebirth. Actually, I never did in my whole lives.

                Kommentar


                • #9
                  Ich werde mir mal morgen die Funktionen zu Gemüte führen.

                  Danke und beste Grüße

                  jay-ar

                  Kommentar

                  Lädt...
                  X