Übergabe von Variablen bei onclick

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

  • Übergabe von Variablen bei onclick

    Hallo,

    ich habe ein Problem Variablen zu überreichen.

    Hoffentlich kann ich es auch verständlich beschreiben;

    Erstmal ein Teil des Script.


    while($row = mysql_fetch_row($result)) {

    ?>
    <form action="http://....../Script.php" methode="post">
    <div id="b1">
    <button type="submit"
    class="button" name="" value="" >
    <b><? echo $row[1]; ?></b>
    </button>
    </div>

    <? } ?>

    </form>


    Nach der sqp-Abfrage, soll die Anzahl von Bottons durch die Anzahl der Zeilen der SQL-Tabelle bestimmt.

    Nun soll beim clicken eines der Buttons ein neues php-Sript aufgerufen werden, und an dieses die Information welcher Botton gedrückt wurde (oder ID der dazugehörigen Zeile) übertragen werden.

    Wenn man jeden Button eindeutig benennen könnte, dann sollte das über die Komandozeile gehen (...php?...).

    Warscheinlich trivial... geht das überhaupt mit php oder sollte das mit javascript gemacht werden, wenn ja wie?


    netten Gruss Wolfgang (QWerner)

  • #2
    häh? was? und was macht die komandozeile auf einmal da? ich dachte es geht um ein webformular?

    Kommentar


    • #3
      hallo QWerner,

      hab deiner problematik zwar jetzt nicht richtig folgen
      können - kannst doch aber zur benennung der einzelnen
      button eine zählschleife mitlaufen lassen?!
      Computernotdienst Eisleben
      Softwarelösung für Rechtsanwälte und Notare

      Kommentar


      • #4
        Hy TobiaZ

        ich bin ein blutiger Anfänger, drum entschuldigewWarscheinlich habe ich da etwas durcheinnander bekommen.

        Es geht darum ein php-Script aufzurufen und an dieses eine Variable zu überreichen.

        Das Problem liegt darin, dass die Buttons durch eine Schleife erzeugt werden und ich möchte die Information, welcher Button gedrückt wurde weitergeben.

        Ich habe zu diesem Thema auch schon etwas hier im Forum gefunden, bin aber daraus nicht schlau geworden.


        grus Wolfgang

        Kommentar


        • #5
          Hy piep83,

          habe ich auch schon dran gedacht, mitzählen und dann

          $name[]=$i;

          in einem array speichern. Bleibt, dass man dann beim oncklick -event das Array richtig auslesen muss.
          Ich denke damit verschiebt man nur das Problem.


          gruss Wolfgang

          Kommentar


          • #6
            Gib den Buttons nen namen

            <input type="button" name="bla">

            Kommentar


            • #7
              HY TobiaZ,

              daran habe ich auch schon gedacht klar, aber wie?
              Oder value="bla" noch besser.

              Die Bottons werd doch in einer Schleife erzeugt.

              Es würde ausreichen:

              value="Wert von row[1]"

              aber wie macht man das? Ich denke da fehlt mir php synthax.
              Wie kann man zwischen den Gänsefüsschen php schreiben?


              gruss Wolfgang

              Kommentar


              • #8
                http://tut.php-q.net/verkettungsoperator.html


                lass deine Schleife als for laufen und nicht als while!
                dann packst du dir in dein submit die passenden werte! allerdings musst du entweder innerhalb des html-modus wieder in den php-modus zurückwechseln, oder du packst dein formular in ein echo!!

                Kommentar


                • #9
                  vielen dank PHP-Desaster,

                  ich konnte das Problem zwar nicht so lösen, wie du es vorgeschlagen hast, habe aber eine andere Lösung gefunden.

                  Dank deines Links ist mir so einiges klar geworden. Super.

                  Gruss QWerner

                  Kommentar


                  • #10
                    und deine lösung für suchende user???

                    Kommentar


                    • #11
                      Also ich würde
                      <input type=submit name=button_1 value=click_me>
                      <input type=submit name=button_2 value=click_me> machen usw.

                      ETWAS geht dann mit Sicherheit ins $_GET bzw. $_POST. Ebenso sicher ist, dass
                      es nur einen Button drin hat, nämlich den geklickten. Man bekommt also
                      $_GET[button_i] => click_me. Muss man halt den $_GET array absuchen.

                      Trickreicher ist folgendes mit arrayhaltigen Namen:
                      <input type="submit" name="sub[button_1]" value="click_me">
                      <input type="submit" name="sub[button_2]" value="click_me">

                      Auswertung:

                      $sub=$_GET['sub'];
                      foreach($sub as $buttonid=>$value);
                      $buttonid=$buttonid;

                      ODer:
                      $sub = $_GET['sub'] ;
                      $sub1 = array_keys($sub);
                      $buttonid = $sub1[0];

                      Manual: FAQ / PHP and HTML / Punkt 3 (und 2).
                      Zuletzt geändert von miximaxi; 08.04.2006, 02:54.

                      Kommentar


                      • #12
                        Hallo zusammen,

                        danke für die Antworte

                        @TobiaZ,

                        ja meinen Lösung entspricht in etwa der, die miximaxi vorgeschlagen hat.
                        Sie fruktioniert ist aber, so wie ich finde recht unelegant.

                        Ein Weiteres Porblem ist ja eben die Anzahl der Buttons (Anzahl der Zeilen der Tabelle), denn diese ändert sich.

                        Daher habe ich der Lösung von miximaxi eine SQL Abfrage zur Ermittlung der Zeilenanzahl vorrangestellt. Dann die maximale Anzahl an Buttons erzeugt und lasse sie mit einem if erscheinen oder nicht.

                        (grobes scipt (erg), aber besser als Tage lang im ichts zu stochern


                        @miximaxi,

                        ja, danke,

                        das mit den arrays habe ich auch probiert.
                        Hier macht sich jedoch bemerkbar, dass ich wahrlich noch ein Anfänger bin
                        Bei all den verschiedenen Varianten, die ich ausprobiere welche Variable wie übergeben wird, erhalte ich verschieden Ergebnisse durch die ich versuche die Funktionsweise des Variablenübergebens zu verstehen.
                        Das ist baer recht aufwendig.

                        Das werde ich mir dann mal genauer anschauen:

                        $sub=$_GET['sub'];
                        foreach($sub as $buttonid=>$value);

                        ???$buttonid=$buttonid;

                        Was macht diese Zeile?


                        Ich habe ja schon das nächste Problem, welches ich unter SQL gepostet habe, aber keine Antwort bekomme. Vieleicht ein lese Tip von euch.

                        Die mit den Buttons übergebenen Vaiablen will ich dann in der Session speicher, da sie in den folgenden scrips erfügbar sein sollen.

                        Nun versuche ich mit diesen Variablen eine SQL Abfrage zu machen, das klapt aber nicht, wenn ich nach

                        $a=$_SESSION['variable'];

                        $a in die SQL Abfrage einsetzt.

                        Mit

                        $a="Wert"; gehts. (Also kein ' Problem oder so)

                        Auch

                        echo $_SESSION['variable'];

                        gibt den richtigen Wert aus.

                        QWerner^ratlos...

                        gruss Wolfgang alias QWerner
                        Zuletzt geändert von QWerner; 08.04.2006, 20:55.

                        Kommentar

                        Lädt...
                        X