Ankündigung

Einklappen
Keine Ankündigung bisher.

Datensatz als Array speichern

Einklappen

Neue Werbung 2019

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

  • Datensatz als Array speichern

    Moin!

    Ich möchte die Spalten meiner Tabelle gerne als Array auslesen und speichern.

    Ich habe in meiner Datenbank beispielsweise zur Zeit 2 Datensätze mit Fragen und Antworten.

    ich möchte nun Arrays erzeugen. Beispiel:
    $frage mit den Inhalten der beiden Spalten.

    Momentan sieht mein Kode so aus:
    PHP-Code:
            while($daten_wwm mysql_fetch_object($wwm))
            {
                
    $frage $daten_wwm -> frage;
                
    $antwort1 $daten_wwm -> antwort1;
                
    $antwort2 $daten_wwm -> antwort2;
                
    $antwort3 $daten_wwm -> antwort3;
                
    $antwort4 $daten_wwm -> antwort4;
                
    $antwort_richtig $daten_wwm -> antwort_richtig;
            
            } 
    Vermutlich muss ich das Ganze über den Befehl *_array($wwm) machen, komme allerdings nicht ganz dahinter, wie das nun genau aussehen muss.
    PHP-Code:
    echo $_POST['Beitrag_DAU']; 

  • #2
    while zeile = fetch_array {
    zeilen[] = zeile
    ...
    [I]You know, my wife sometimes looks at me strangely. „Duncan“, she says, „there's more to life than Solaris“. Frankly, it's like she speaks another language. I mean, the words make sense individually, but put them together and it's complete nonsense.[/I]

    Kommentar


    • #3
      Du meinst in meinem Falle so?

      PHP-Code:
      $wwm_abfragen "SELECT frage FROM wwm";
      [...]
              while(
      $daten_wwm mysql_fetch_array($wwm))
              {
                  
      $frage[] = $daten_wwm
      Ist allerdings nicht das, was ich gerne hätte. Wenn ich nämlich nun den Inhalt des Arrays ausgeben möchte, erscheint im Browser lediglich der Text "Array":

      PHP-Code:
      echo $frage[0]; 
      Echo steht außerhalb der Schleife.
      PHP-Code:
      echo $_POST['Beitrag_DAU']; 

      Kommentar


      • #4
        $frage[0] ist ja auch ein Array. willst du ein Array als Baum ausgeben, nutze print_r().
        [I]You know, my wife sometimes looks at me strangely. „Duncan“, she says, „there's more to life than Solaris“. Frankly, it's like she speaks another language. I mean, the words make sense individually, but put them together and it's complete nonsense.[/I]

        Kommentar


        • #5
          Nein, ich möchte, dass alle meine "Fragen", die in der DB gespeichert sind, in das Array geschrieben werden. Also ohne die dazugehörigen Antworten 6 Fragen-IDs, die im selben Datensatz stehen.
          PHP-Code:
          echo $_POST['Beitrag_DAU']; 

          Kommentar


          • #6
            Hast du doch da stehen, "SELECT frage FROM ..." die Antwortspalten werden nicht ausgelesen.
            [I]You know, my wife sometimes looks at me strangely. „Duncan“, she says, „there's more to life than Solaris“. Frankly, it's like she speaks another language. I mean, the words make sense individually, but put them together and it's complete nonsense.[/I]

            Kommentar


            • #7
              Tschuldigung, wusste nicht genau, was du mit Baumform meinst.

              Ich möchte nun aber nur eine Frage des Arrays "ausdrucken" bzw. darauf zugreifen.
              Der Kode...
              PHP-Code:
                      echo $frage[1]; 
              Scheint leider nicht zu funktionieren.
              PHP-Code:
              echo $_POST['Beitrag_DAU']; 

              Kommentar


              • #8
                Zitat von Bas Beitrag anzeigen
                Tschuldigung, wusste nicht genau, was du mit Baumform meinst.

                Ich möchte nun aber nur eine Frage des Arrays "ausdrucken" bzw. darauf zugreifen.
                Der Kode...
                PHP-Code:
                        echo $frage[1]; 
                Scheint leider nicht zu funktionieren.
                PHP-Code:
                $result mysql_query("SELECT frage FROM whatever"); 
                PHP-Code:
                $fragen = array();
                while ( 
                $data mysql_fetch_array($result) ) {
                  
                $fragen[] = $data["frage"];

                PHP-Code:
                echo $fragen[0]; // erste Frage des Arrays ausgeben
                echo $fragen[4]; // 5te Frage des Arrays ausgeben 
                [URL="https://gitter.im/php-de/chat?utm_source=share-link&utm_medium=link&utm_campaign=share-link"]PHP.de Gitter.im Chat[/URL] - [URL="https://raindrop.io/user/32178"]Meine öffentlichen Bookmarks[/URL] ← Ich habe dir geholfen ? [B][URL="https://www.amazon.de/gp/wishlist/348FHGUZWTNL0"]Beschenk mich[/URL][/B].

                Kommentar


                • #9
                  Hehe, vielen Dank!

                  Hatte vorher $frage nicht als Array deklariert.

                  Außerdem ging ich davon aus, dass ich in der While-Schleife alle Werte übernehmen kann und nicht "frage" explizit übernehmen muss. Wahrscheinlich geht der PHP-Parser sonst davon aus, dass es möglicherweise noch andere Werte in dem Array gibt oder so?
                  PHP-Code:
                  echo $_POST['Beitrag_DAU']; 

                  Kommentar


                  • #10
                    Lass dir doch einfach mal das komplette Array zu "SELECT * FROM ..." ausgeben, dann wird dir auch klar, warum du nichts anderes als ein mehrdimensionales Array erhalten kannst.

                    Zitat von Bas Beitrag anzeigen
                    Außerdem ging ich davon aus, dass ich in der While-Schleife alle Werte übernehmen kann
                    Genau das passiert, was dazu führt, dass du

                    Zitat von Bas Beitrag anzeigen
                    "frage" explizit übernehmen muss.
                    genau das machen musst.

                    Zitat von Bas Beitrag anzeigen
                    Wahrscheinlich geht der PHP-Parser sonst davon aus, dass es möglicherweise noch andere Werte in dem Array gibt oder so?
                    Es interssiert ihn nicht, was sein könnte, sondern nur das, was du definiert hast und was ist.
                    [I]You know, my wife sometimes looks at me strangely. „Duncan“, she says, „there's more to life than Solaris“. Frankly, it's like she speaks another language. I mean, the words make sense individually, but put them together and it's complete nonsense.[/I]

                    Kommentar


                    • #11
                      Zitat von chorn Beitrag anzeigen
                      Lass dir doch einfach mal das komplette Array zu "SELECT * FROM ..." ausgeben, dann wird dir auch klar, warum du nichts anderes als ein mehrdimensionales Array erhalten kannst.



                      Genau das passiert, was dazu führt, dass du



                      genau das machen musst.



                      Es interssiert ihn nicht, was sein könnte, sondern nur das, was du definiert hast und was ist.
                      naa soweit musser nichma gehen..

                      PHP-Code:
                       die(var_dump($data)); // in die while schleife 
                      Dann weiß er auch was für daten er da bekommt.
                      Ich sag aber eins: dir fehlt einiges an Grundlagenwissen für PHP, Bas.
                      [URL="https://gitter.im/php-de/chat?utm_source=share-link&utm_medium=link&utm_campaign=share-link"]PHP.de Gitter.im Chat[/URL] - [URL="https://raindrop.io/user/32178"]Meine öffentlichen Bookmarks[/URL] ← Ich habe dir geholfen ? [B][URL="https://www.amazon.de/gp/wishlist/348FHGUZWTNL0"]Beschenk mich[/URL][/B].

                      Kommentar


                      • #12
                        Nein, ich hatte ja SELECT frage eingebaut. Deswegen hatte ich nicht damit gerechnet, dass ich die Tabellenvariable frage in der While-Schleife explizit angeben musste.

                        @Troy: Najo, bin mit Datenbanken in etwa erst seit...Freitag oder Donnerstag vergangener Woche dabei.

                        PHP-Erfahrung ohne DB: Etwas hobbymäßig vor einiger Zeit betrieben, halbes Jahr in der Schule mit 2 Wochenstunden (von denen aber auch einige ausgefallen sind)
                        PHP-Code:
                        echo $_POST['Beitrag_DAU']; 

                        Kommentar

                        Lädt...
                        X