input type array problem mir zuordnung

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

  • input type array problem mir zuordnung

    Hiho,

    ich hoffe, ihr könnt mir weiterhelfen.
    Also,
    ich habe eine Liste mit Namen und Punkte, die ich aus einer SQL DB auslese.

    Das ganze sieht dann so aus:

    Tim 10
    Tom 10
    Paul 5
    Heiner 7

    Nun möchte ich als Admin die Punkte ändern.
    Ich habe dazu ein Admin Formular, das wie folgt ausschaut:

    Tim 10 - input type="text" name="punkte[]"
    Tom 10 - input type="text" name="punkte[]"

    Ich benutze ein input type mit array, in das ich dann neue Punkte eintragen kann.

    Wenn ich jetzt auf meinen Submit Button klicke, soll PHP die so eben eingegebenen Punkte der jeweiligen Spieler aktualisieren, so dass jetzt zum Beispiel als Ausgabe steht:

    Tim 12
    Tom 3
    Paul 5
    Heiner 7

    Mein Problem dabei ist, dass ich die neue Punktezahl in meiner DB aktualisieren und speichern möchte.
    Leider hänge ich an der Stelle, wie ich die Punkte aus dem array den jeweiligen Spielern zuordne, um ein DB Update der Punkte auszuführen.

    Es kann ja zum Beispiel sein, dass Ich bei Tim 2 Punkte in das input type eingegeben habe und sagen wir noch 3 Punkte bei Heiner.
    Im array würde dann stehen 2 und 3.
    Jetzt fehlt aber der Bezug zu den Spielern, da das array ja nicht weiss, welcher der Spieler nun die Punkte aktualisiert haben muss und ich deswegen keine DB Update machen kann.

    Hoffe, dass ist so einigermassen verständlich.
    Bin für jede Hilfe dankbar!

    Gruß
    IceT

  • #2
    gib im html dem array noch jeweils als index die id des spielers mit, so kannst du eine zuordnung festlegen.
    Die Zeit hat ihre Kinder längst gefressen

    Kommentar


    • #3
      Am aller einfachsten anstatt

      Tim 10 - input type="text" name="punkte[]"
      Tom 10 - input type="text" name="punkte[]"

      einfach so

      Tim 10 - input type="text" name="tim[]"
      Tom 10 - input type="text" name="tom[]"
      Bei Risiken und Nebenwirkungen fragen Sie Dr.Alban

      Kommentar


      • #4
        ok

        hört sich gut an Danke

        nur, hmm wie mache ich das denn?

        bisher sieht das ja so aus:

        input type="text" name="punkte[]"

        Wie kann ich da noch die id anhängen?
        Oder wie schreibe ich die da mit rein?

        Kommentar


        • #5
          @arni

          Hi Arni,

          leider geht das so nicht, weil sich die Namen der Spieler nicht festgelegt sind bzw ändern können.

          Mit dem zusätzlichen Index scheint mit da besser.

          Kommentar


          • #6
            Code:
            <input type="text" name="punkte[17]" />
            Die Zeit hat ihre Kinder längst gefressen

            Kommentar


            • #7
              Original geschrieben von IceT
              Hi Arni,

              leider geht das so nicht, weil sich die Namen der Spieler nicht festgelegt sind bzw ändern können.

              Mit dem zusätzlichen Index scheint mit da besser.
              und warum soll das nicht gehen, wenn man die Variable nimmt ??

              Tim 10 - input type="text" name="$name_wo_tim_herkommt"

              Du bekommst doch auch den Namen Tim aus der DB über eine Variable oder etwa nicht.

              Zuletzt geändert von Arni; 29.06.2005, 12:37.
              Bei Risiken und Nebenwirkungen fragen Sie Dr.Alban

              Kommentar


              • #8


                Ja hast natürlich Recht. So funktioniert das auch.
                Habe es jetzt so gemacht:

                <input type=text name=plus[$name]>

                Geht auch alles wunderbar.
                Ausgabe gibt nun folgendes:
                print_r($plus);
                Array ( [Tim => 3 [Tom] => 5 [Paul] => 8 )


                Nun hab ich aber doch noch eine Frage:

                Ich will ja nun die Punkte in der DB aktualisieren.

                Irgendwo hab ich da noch einen Fehler, denn er führt es nicht aus, obwohl es doch eigentlich so gehen müsste, oder?

                while (list($nam,$pkt) = each($plus)) {
                echo "$nam: $pkt";
                $pktup = "UPDATE raid SET punkte='$pkt' WHERE name='$nam')";
                $up = mysql_query($pktup);
                }

                Kommentar


                • #9
                  was ist den die Klammer da hinten

                  $pktup = "UPDATE raid SET punkte='$pkt' WHERE name='$nam') ????
                  Bei Risiken und Nebenwirkungen fragen Sie Dr.Alban

                  Kommentar


                  • #10
                    argghh

                    )))
                    Oh man, stimmt, nun gehts auch !!

                    Danke

                    Hab ich total übersehen!

                    Kommentar


                    • #11
                      Bei Risiken und Nebenwirkungen fragen Sie Dr.Alban

                      Kommentar

                      Lädt...
                      X