Ankündigung

Einklappen
Keine Ankündigung bisher.

Addieren von Checkboxen

Einklappen

Neue Werbung 2019

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

  • Addieren von Checkboxen

    Hallo,

    leider bin ich noch Anfänger was das Thema PHP betrifft. Trotzdem möchte ich gerne ein Programm schreiben mit Checkboxen.

    Nun zu meinem Problem. Ich habe auf der index.php 3 Checkboxen eingesetzt diese werden über POST_ an die zweite Datei gesendet und den werden zugeordnet. Jetzt soll das Programm die werte addieren, deren checkboxen aktiv waren.

    Auswertung der 1.Checkbox:
    PHP-Code:
    <?php
          
          
    if (isset($_POST["frage1"]))
          echo 
    number_format($praemie*0.5,2,",",".")." €";
            
            
    ?>
    Auswertung der 2.Checkbox:
    PHP-Code:
    <?php
          
          
    if (isset($_POST["frage2"]))
          echo 
    number_format($praemie*0.25,2,",",".")." €";
            
            
    ?>
    Auswertung der 3.Checkbox:
    PHP-Code:
    <?php
          
          
    if (isset($_POST["frage3"]))
          echo 
    number_format($praemie*0.25,2,",",".")." €";
            
            
    ?>
    Wie sollte nun der Code aussehen dir die aktiven Checkboxen addiert.
    Ich brauche hier Deine Unterstützung.

    Vielen Dank vorab...

    Gruß

    RaynAnderson

  • #2
    so geht das:
    PHP-Code:
    <?php

     $punkte 
    1;

     if(isset(
    $_POST['a'])){
      
    $punkte += 2;
     }

     if(isset(
    $_POST['b'])){
      
    $punkte += 3;
     }

     if(isset(
    $_POST['c'])){
      
    $punkte += 4;
     }

     echo 
    $punkte;

    ?>
    <hr>
    <form method="post">
     <input type="checkbox" name="a">
     <input type="checkbox" name="b">
     <input type="checkbox" name="c">
     <input type="submit">
    </form>
    .

    Kommentar


    • #3
      Ich würde die Werte in einem Array sammeln, daraus kannst du dann die Summe ausgeben lassen.

      Kommentar


      • #4
        Zu Beginn sollte er eher nach dem KISS-Prinzip arbeiten, sonst sind wahrscheinlich noch weit mehr Fragen offen
        .

        Kommentar


        • #5
          Zitat von kremser Beitrag anzeigen
          Zu Beginn sollte er eher nach dem KISS-Prinzip arbeiten, sonst sind wahrscheinlich noch weit mehr Fragen offen
          Was ist denn an einem einfachen Array schwer oder kompliziert? Und was ist, wenn er zukünftig statt 3 vielleicht 30 Kontrollkästchen hat?
          Dann ist weniger mehr!

          Kommentar


          • #6
            Also ich liefere dir mal ein wenig pseudo Code, du kannst ja schauen ob du mit dem Prinzip etwas anfangen kannst.

            PHP-Code:
            <?php
            // Dateiname = index.php

            // Text der Fragen würde i.d.R. aus einer Datenbank ausgelesen werden.
                
            $text = array("Frage_1_Text","Frage_2_Text","Frage_3_Text""Frage_4_Text");

            // "Wertigkeit" der Frage würde i.d.R. ebenfalls aus der Datenbank kommen.
                
            $value = array(0.25,0.5,0.5,0.75);

            // $praemie = Basiswert in €?
                
            $praemie 5;

            // Wenn $_POST['questionPost'] nicht gesetzt ist Formular erstellen.
            if(!isset($_POST['questionPost']))
            {
                echo 
            "<form method=\"POST\" action=\"index.php\">";
                for(
            $a 0$a count($text); $a++)
                {
                echo 
            $text[$a]."? <input type=\"checkbox\" name=\"questionPost[]\" value=\"".$value[$a]."\"><br></br>";
                }
                echo 
            "<input type=\"submit\"></form>";
            }
            else  
            // Ansonsten Formular auswerten. 
            {
                for(
            $a 0$a count($_POST['questionPost']); $a++)
                {
                    if(
            $_POST['questionPost'][$a] != "")
                    {
                    echo 
            number_format($praemie*$_POST['questionPost'][$a],2,",",".")."&euro;<br></br>"
             
            // statt &euro; sollte von vorneherein auf die richtige Zeichenkodierung geachtet werden.
                    
            }
                }
            }
            ?>
            Der Vorteil gegenüber der o.g. Konstruktion wäre hier das du einfach neue Fragen in das Array (im normalen Einsatz die Datenbank) eintragen kannst. Dein Formular und die Auswertung würden dann automatisch um die neue Frage erweitert werden ohne das Änderungen am Code nötig sind. Die Arrays $text und $value würde man bei einer Datenbank Abfrage dann i.d.R. noch in einem Array Vereinen. Du hättest dann also ein mehrdimensionales Array. Also:
            PHP-Code:
            $question[0] = array('text' => "Frage_1_Text"'value' => 0.25);
            $question[1] = array('text' => "Frage_2_Text"'value' => 0.50); 
            Ansprechen würdest du das ganze dann so:
            PHP-Code:
            echo $question[1]['text']; 
            ergibt dann die Ausgabe : "Frage_2_Text".

            P.S.
            Die meisten Leute würden statt mit einer for() wohl ehr mit einer foreach() Schleife arbeiten. Die Konstruktion mit dem $a < count($array) führt im Endeffekt aber zum selben Ergebnis.

            Kommentar

            Lädt...
            X