[INSERT] Problem

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • [INSERT] Problem

    >>> VORSPANN <<<



    ich habe ein kleines INSERT Problem. Und zwar habe ich ein Formular welches über DOM-Manipulation mehrere Paare <input>-Felder erzeugt.

    HTML Code:
    <input name="menge" value="ausleihe[menge]" type="hidden" />
    <input name="menge" value="ausleihe[cd]" type="hidden" />
    So nun habe ich auch alle CD und die dazugehörige Menge in der Array ausleihe. Nun möchte ich sie in folgende DB speichern (wobei ausleihnr klar ist).

    Verleihe DB: CD, Menge, AusleiheNr

    Also, wenn ich zB folgende Array habe:
    3, 1
    4, 2
    1, 1
    9, 1

    Soll das wie folgt gespeichert werden:

    Verheihe DB:
    3, 1, 111
    4, 2, 111
    1, 1, 111
    9, 1, 111


    Weisst ihr was ich meine?
    Last edited by JohnWorksCooper; 04-03-2010, 18:53.

  • #2
    Originally posted by JohnWorksCooper View Post
    Weißt ihr was ich meine?
    Nein. Zwischen den vorliegenden Daten und dem, was du speichern willst, ist kein direkter Zusammenhang erkennbar.

    Allerdings macht es den Eindruck, dass du dich um vernünftige Normalisierung drücken willst.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Comment


    • #3
      Originally posted by JohnWorksCooper View Post
      Weißt ihr was ich meine?
      Ja

      Peter

      PS: Es heißt "Wisst ihr"
      Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
      Meine Seite

      Comment


      • #4
        @Peter: Gibt es auch eine Antwort?

        >>> Der bisherige Stand <<<

        Formular-Felder:
        PHP Code:
        <input name="produkt_array[id][]" value="..." type="hidden" />
        <
        input name="produkt_array[menge][]" value="..." type="hidden" /> 
        Nach dem Submit:
        PHP Code:
        $data $_GET[produkt_array];

         for(
        $z=0;$z<count($data);$z++){
           echo 
        $data[id][$z] . $data[menge][$z] .'<br>';
         } 
        Jedoch kommt nicht das gewünschte Ergebnis! Denn eigentlich sollte, wenn
        PHP Code:
        <input name="produkt_array[id][]" value="1" type="hidden" />
        <
        input name="produkt_array[menge][]" value="2" type="hidden"  />

        <
        input name="produkt_array[id][]" value="1" type="hidden" />
         <
        input name="produkt_array[menge][]" value="1" type="hidden"  />

        <
        input name="produkt_array[id][]" value="2" type="hidden" />
         <
        input name="produkt_array[menge][]" value="1" type="hidden"  />

        <
        input name="produkt_array[id][]" value="3" type="hidden" />
         <
        input name="produkt_array[menge][]" value="1" type="hidden"  /> 
        Ergebnis sollte, sein:
        Code:
        1 2
        1 1
        2 1
        3 1

        Comment


        • #5
          1. Formulardaten sollte man per POST schicken
          2. es heißt
          PHP Code:
          echo $data['id'][$z] . $data['menge'][$z] .'<br>'
          3. Schau dir das Ergebnis mal mit print_r($_POST['produkt_array'] an, dann siehst du den Fehler wahrscheinlich selber.
          4. es ist nicht von großen Interesse zu wissen, wie das Ergebnis aussehen sollte, sondern wie es tatsächlich ist
          Peter
          Last edited by Kropff; 05-03-2010, 15:01.
          Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
          Meine Seite

          Comment


          • #6
            Peter

            PHP Code:
            <input name="produkt_array[i][id]" value="..." type="hidden" />
            <
            input name="produkt_array[i][menge]" value="..." type="hidden" /> 

            i++ 
            PHP Code:
            for($z=0;$z<count($_POST['produkt_array']);$z++){
               echo 
            $data[$z]['id'] . $data[$z]['menge'] .'<br>';
             } 
            Last edited by JohnWorksCooper; 05-03-2010, 15:37.

            Comment


            • #7
              Nicht
              PHP Code:
              $_POST[produkt_array
              Sondern
              PHP Code:
              $_POST['produkt_array'
              Gewöhn dir das bitte schnellstmöglich an, sonst fällst du irgendwann richtig auf die Fresse.

              Peter
              Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
              Meine Seite

              Comment


              • #8
                Originally posted by Kropff View Post
                Nicht
                PHP Code:
                $_POST[produkt_array
                Sondern
                PHP Code:
                $_POST['produkt_array'
                Gewöhn dir das bitte schnellstmöglich an, sonst fällst du irgendwann richtig auf die Fresse.

                Peter
                Da sagt auch jeder was anderes in verschiedenen Foren... aber kommt raus!

                Comment


                • #9
                  Die Sache ist ganz einfach. Wenn du das so schreibst,
                  PHP Code:
                  $_POST[produkt_array
                  dann wird produkt_array als Konstante behandelt. Ist die nicht vorhanden, so wandelt PHP den Konstantennamen in einen String um. Das entspricht dann einem
                  PHP Code:
                  $_POST['produkt_array'
                  Aber was passiert, wenn du vorher eine entsprechende Konstante definiert hast?
                  PHP Code:
                  define('produkt_array''blubb'); 
                  Dann hast du auf einmal ein
                  PHP Code:
                  $_POST['blubb'
                  Darum lasse ab von deinem schändlichen Tun und arbeite sauber(!) mit Hochkommata.

                  Peter

                  PS: man sollte nicht immer auf andere Leute hören. Oder zumindest vorher deren Aussagen überprüfen. Es wird heutzutage viel zu viel Blödsinn geredet.
                  Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                  Meine Seite

                  Comment

                  Working...
                  X