mit onchange= die Datenbank aktualisieren

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

  • mit onchange= die Datenbank aktualisieren

    Hallo!

    Ich bekomme eine Syntax nicht zum Laufen, und brauche Hilfe:

    Folgende Situation:
    Ich lese eine Datenbank aus, und stelle den Inhalt dar. Das klappt soweit.
    Ein Feld aus der Datenbank soll in einer Drop-Down <select> Auswahl erscheinen, und bei onchange durch eine andere Variable ersetzt werden. Konkret sieht das so aus:
    PHP-Code:
    echo "$kopf"// gibt den aktuellen Wert des Feldes aus. Inhalt ist "box1" - funktioniert!

    // nun soll der Wert klar gestellt werden:

    $kopf1 "EDV"// synonym für box1
    $kopf2 "Musik"// synonym für box3

    // im nachfolgenden <select> Feld möchte ich nun zwischen Musik und EDV 
    // auswählen können, und bei onchange soll der Wert "box1" auf "box3"
    // verändert werden.

    <select onchange="$mysqli->UPDATE angebote SET kopf=? WHERE id=?">
    <
    option name='kopf' value='$kopf1'>EDV</option>
    <
    option name='kopf' value='$kopf2'>Musik</option>
    </
    select
    Das bekomme ich nicht hin. Ich google mir schon die Augen wund...!

    Kann mir jemand bitte helfen???

    Danke!
    Zuletzt geändert von vs1; 12.11.2014, 14:54.
    Gruss,

    Volker

  • #2
    Hi,

    schau mal hier:

    This tutorial explains Ajax where a webpage is updated with the values from MySQL databaseProgramming tutorials and demos

    eleganter ist es mit JQuery noch. Das tut soll für's allg. Verständnis sein.

    mfg streuner
    Erst wenn der letzte FTP Server kostenpflichtig, der letzte GNU-Sourcecode verkauft, der letzte Algorithmus patentiert,
    der letzte Netzknoten verkommerzialisert ist, werdet Ihr merken, dass Geld nicht von alleine programmiert.

    "Diese Software verdient die 3 großen GGG: --- Gesehen --- Gelacht --- Gelöscht ---"

    Kommentar


    • #3
      Hallo!

      Danke für den Link!
      Lässt sich übrigens komischerweise nicht direkt aufrufen, aber egal, hab's gefunden...

      Mit Ajax, oder JQuery?
      Da hab ich ja noch weniger Ahnung, als mit PHP.

      Geht das nicht auch ohne Javascript?

      Danke!!! :-)
      Gruss,

      Volker

      Kommentar


      • #4
        Hi,

        Mit Ajax, oder JQuery?
        Da hab ich ja noch weniger Ahnung, als mit PHP.

        Geht das nicht auch ohne Javascript?
        mit JQuery ist es auch mit AJAX, jedoch eleganter und weniger code. Das Beispiel soll nur für's Verständnis sein und ist auch "ziemlich einfach".
        Nur mit JavaScript wirst Du keine Änderungen in die Datenbank schreiben können
        Erst wenn der letzte FTP Server kostenpflichtig, der letzte GNU-Sourcecode verkauft, der letzte Algorithmus patentiert,
        der letzte Netzknoten verkommerzialisert ist, werdet Ihr merken, dass Geld nicht von alleine programmiert.

        "Diese Software verdient die 3 großen GGG: --- Gesehen --- Gelacht --- Gelöscht ---"

        Kommentar


        • #5
          Ich werde mir das mal anschauen.
          Ob ich das verstehe, bezweifele ich allerdings.

          Gibt es denn eine Möglichkeit, das nur mit PHP zu realisieren???

          Danke!
          Gruss,

          Volker

          Kommentar


          • #6
            Pack das select in ein Form und bei einem onchange wird es übermittelt, in etwa so. Dann musst du per PHP die entsprechenden POST-Werte überprüfen und verarbeiten.

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

            Kommentar


            • #7
              Zitat von Kropff Beitrag anzeigen
              Pack das select in ein Form und bei einem onchange wird es übermittelt, in etwa so. Dann musst du per PHP die entsprechenden POST-Werte überprüfen und verarbeiten.

              Peter
              Hallo!

              Ja, und genau das gelingt mir nicht, auch wenn ich es in eine <form> packe...!
              Gruss,

              Volker

              Kommentar


              • #8
                Code?

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

                Kommentar


                • #9
                  Hallo, Peter :-)

                  Also, ich versuche gerade, anders an die Lösung heran zu gehen, und bin ein kleines Stückchen weiter, aber wirklich nur ein ganz Kleines.

                  Ich rufe nun bei onchange eine Funktion auf. Der Funktionsaufruf selbst funktioniert bereits, aber nun stagniert es bei der Funktion, schau selbst:

                  PHP-Code:
                  // Die Funktion:
                  <script>
                  function change_kopf(val) {
                      alert("Der Wert wurde verändert und ist jetzt: " + val );
                  }
                  </script>

                  .
                  .
                  .

                  // Der Funktionsaufruf
                  <td colspan='3' align='right'>
                     Briefkopf: <?php echo htmlspecialchars($kopf); ?> 
                             <select onchange="change_kopf(this.value)">
                             <option name='kopf' value='$box1'>EDV</option>
                             <option name='kopf' value='$box3'>Musik</option>
                             </select> 
                   </td>
                  Die Funktion soll folgende Schritte beinhalten:
                  - Den vom <select> neuen Wert entgegen nehmen (macht sie bereits)
                  - einen URL-Parameter (die id auslesen) www.balbliblubb.de/test.php?id=159
                  - die Datenbank aktualisieren
                  - die Seite www.balbliblubb.de/test.php?id=159 neu laden

                  bisher konnte ich nur 1 von 4 Schritten realisieren....

                  Danke für Deine Hilfe!

                  Gruß,
                  Volker
                  Gruss,

                  Volker

                  Kommentar


                  • #10
                    bisher konnte ich nur 1 von 4 Schritten realisieren....
                    in meinem Ursprungslink ist das alles gut erklärt, inklusive eines vollständigen Beispiels. Verstehe nicht, warum du das so nicht umsetzt
                    Erst wenn der letzte FTP Server kostenpflichtig, der letzte GNU-Sourcecode verkauft, der letzte Algorithmus patentiert,
                    der letzte Netzknoten verkommerzialisert ist, werdet Ihr merken, dass Geld nicht von alleine programmiert.

                    "Diese Software verdient die 3 großen GGG: --- Gesehen --- Gelacht --- Gelöscht ---"

                    Kommentar


                    • #11
                      Zitat von streuner Beitrag anzeigen
                      in meinem Ursprungslink ist das alles gut erklärt, inklusive eines vollständigen Beispiels. Verstehe nicht, warum du das so nicht umsetzt
                      weil ich so schnell nicht verstehe, was da genau programmiert wurde, weil mein Englisch nicht perfekt ist, und weil ich bislang nicht gefunden habe, wie man innerhalb der Funktion die Datenbank updated. Wenn ich das richtig sehe, dann steht im PHP Teil dort was von Datenbank auslesen, aber nix von Updaten innerhalb der Funktion?!?!

                      Sorry, ich bin halt nicht ganz so schnell...
                      Ich hab mir ja zumindest schon den Funktionsaufruf da heraus gesucht...!

                      Gruß,

                      Volker
                      Gruss,

                      Volker

                      Kommentar


                      • #12
                        - einen URL-Parameter (die id auslesen) - funktioniert! *freu* :-)
                        Gruss,

                        Volker

                        Kommentar


                        • #13
                          Moin!

                          So, ich komme nicht weiter.
                          Selbst mit dem von streuner genannten Beispiel, welches ich nun versucht habe, umzusetzen.

                          Der Grund liegt scheinabr in den url Parametern. Die Seite, die ich aufrufe, und in der das onchange passieren soll, hat bereits einen url parameter, sprich also "... irgendwas.php?id=159".

                          Wenn jetzt das Script greift, wird die id=159 entsorgt, und durch den <select> Wert ersetzt. Das kann so ja nicht funktionieren. Das Script empängt beim Aufruf den ausgewählten <select> Wert, beim weiteren verarbeiten kollidiert das aber mit id=159.

                          Und nun?

                          Kann man nicht im Script schon den empfangenen Wert nutzen, ohne über eine weitere PHP Seite zu gehen, und direkt gleich die Datenbank aktualisieren?

                          Danke!!!
                          Gruss,

                          Volker

                          Kommentar


                          • #14
                            Wenn du nicht nur den Wert aus dem Selectfeld, sondern auch die originale ID brauchst in deinem serverseitigen Script, um die Daten korrekt zu verarbeiten – dann schick halt beides mit.
                            I don't believe in rebirth. Actually, I never did in my whole lives.

                            Kommentar

                            Lädt...
                            X