Per Checkbox ausgewählte Datensätze weiterverarbeiten

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

  • Per Checkbox ausgewählte Datensätze weiterverarbeiten

    Hallo zusammen,

    wieder ein Problem:

    Ich habe mit PHP5 aus einer MySQL-Datenbank eine Umsatzliste erstellt:

    PHP-Code:
    <? while ($daten = mysql_fetch_array($result)) { ?>
    <tr align="right">
    <td><b><? echo '<a href=kd_details.php?id='.$daten[id].' title=Bearbeiten>'.$daten[id].'</a>'; ?></b></td>
    <td>
    <?
    $teilen=explode("-",$daten[datum]);
    $datum=$teilen[2].".".$teilen[1].".".$teilen[0];
    echo $datum;
    ?>

    </td>
    <td><? echo $daten[artnr]; ?></td>
    <td><? echo $daten[kunden_id]; ?></td>
    <td><? echo $daten[liefer_id]; ?></td>
    <td><? echo $daten[anzahl]; ?></td>
    <td><? echo sprintf("%01.2f",$daten[einzel]); ?></td>
    <td><? echo sprintf("%01.2f",$daten[betrag]); ?></td>
    <td><? echo $daten[rechn]; ?></td>
    <td><b><? echo '<a href=ums_aendern.php?edit='.$daten[id].' title=Bearbeiten>B</a>'; ?></b> </td>
    <td><b><? echo '<a href=ums_loeschen.php?clear='.$daten[id].' title=L&Ouml;SCHEN style="color: red">L</a>'; ?></b> </td>
    <td><input type="Checkbox" name="erstellen" value="v"> </td>
    </tr>
    <? } ?>
    Nun soll der User Umsätze mit der Checkbox auswählen um für diese eine Rechnung zu erstellen. Dafür müssen die ID's der Umsätze an den nächsten Schritt (ein aus den Umsatzdaten generiertes Dokument) übergeben werden.

    Für einen Umsatz (eine ID) währe das per Link kein Problem ... aber wie mache ich das mit z.B. drei per Checkbox ausgewählten Umsätzen?

    Könnt Ihr mir folgen oder habe ich mich zu blöd ausgedrückt?

    Kann ich das mit einem Array lösen? - Wenn ja, wie bekomme ich die ausgewählten ID's in das Array?

    Bin für jeden Vorschlag dankbar!

  • #2
    du machst mehrere checkbox mit gleichem namen z.b.s name="box[]" und setzt verschiedene value(deine ids).
    wenn name eckige klamer hat erkennt dein phpscript, dass es ein array ist und du kannst dann mit foreach($_POST['box'] as $box) alle angeklickte IDs rausholen.
    Slava
    bituniverse.com

    Kommentar


    • #3
      Re: Per Checkbox ausgewählte Datensätze weiterverarbeiten

      Du verpackst die Checkboxen in eine wundervolle Erfindung namens Formular, und lässt dieses dann abschicken :-)

      Und im Folgescript wertest du das dann aus - die Werte, die du übergeben möchtest, kannst du als Values der Checkboxen angeben.

      Beachte aber, dass nur die Werte der Checkboxen übertragen werden, die auch angekreuzt waren.

      Du kannst die Checkboxen auch z.b. mit name="name[]" benennen, dann bekommst du durch die eckigen Klammern ein Array mit allen angekreutzen Checkboxen.

      Wenn die Struktur der Daten noch unklar ist, hilft die Ausgabe von $_GET oder $_POST mittels print_r() weiter.
      I don't believe in rebirth. Actually, I never did in my whole lives.

      Kommentar


      • #4
        Eure Tipps scheinen schon in die richtige Richtung zu gehen ... Ich habe jetzt die Checkbox wie folgt eingegeben:

        PHP-Code:
        <input type="Checkbox" name="erstellen[]" value=""
        Beim Zieldokument möchte ich die übergebenen Daten abholen:

        PHP-Code:
        $erstellen=$_POST['erstellen'];

        echo 
        $erstellen
        Ausgegeben bekomme ich nur das Wort "Array". Wie bekomme ich nun die selektierten "ID's" in das Array?

        Kommentar


        • #5
          Original geschrieben von thommy2006
          Ausgegeben bekomme ich nur das Wort "Array". Wie bekomme ich nun die selektierten "ID's" in das Array?
          so kann das doch auch nichts werden


          Slava und wahsaga haben es doch schon angedeutet: zum testen mal print_r(); und zum ausgeben der arrays foreach benutzen.


          Sers
          Der Boris

          Kommentar


          • #6
            <<Ausgegeben bekomme ich nur das Wort "Array". Wie bekomme ich nun die selektierten "ID's" in das Array?>>
            außergewöhnlich!
            du hast doch dein array, jetzt muss du in mit schleife ausgeben.
            Slava
            bituniverse.com

            Kommentar


            • #7
              Original geschrieben von thommy2006
              PHP-Code:
              $erstellen=$_POST['erstellen'];

              echo 
              $erstellen
              [/B]
              im grunde wurde schon alles gesagt von daher hab ich nur ne kleinigkeit

              $erstellen=$_POST['erstellen']
              ist eigentlich nicht nötig kannst auch überall das $_POST-Element angeben. Eigentlich ne unnötige Variable.

              Kommentar


              • #8
                Vielen Dank Euch allen!

                Eine Zeit lang hatte mein Hirn ne Ladehemmung , aber dank Eurer Hilfe hab ich das Problem jetzt gelöst!

                Gruß

                thommy2006

                Kommentar

                Lädt...
                X