Summe aus Felder mit Checkbox

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

  • Summe aus Felder mit Checkbox

    Servus zusammen,

    vorne weg ich bin absoluter php-Anfänger. Ich habe nur in einem Online-Kurs die Grundlagen auf die schnelle gelernt.

    Grundlagen:
    Kurz zum grundsätzlichen Aufbau. Ich lese aus MySQL Daten aus, genauer 3 Variablen. Dies sind für meinen Online Shop, da ich für Produkte Zusatzangebote anbiete. Diese werden in einer Tabelle ausgegeben. Als erste Spalte habe ich noch für jede Zeile eine Checkbox gesetzt.
    Die Tabelle schaut also wie folgt aus:
    PHP-Code:
    <td align="center"><input name="checkbox[]" type="checkbox" id="checkbox[]" /></td>        
    <td><?php echo $row['Zusatzangebot']; ?></td>
    <td><?php echo $row['Zusatz_Kuerzel']; ?></td>
    <td style="text-align:right"><?php echo $row['Preis']; ?></td>
    <td style="text-align:left">€</td>
    Problem:
    Jetzt möchte ich, dass meine Kunden beliebig Zusatzangebote mit den Checkboxen auswählen können. Gleichzeitig soll die Summe dieser aktivierten Zeilen gebildet werden, damit der Kunde immer weiß, wie viele Zusatzkosten zum eigentlichen Produktpreis noch dazu kommen.
    Ähnlich hätte ich das auch gerne für die Kürzel der Zusatzangebote. Die Kürzel aller aktivierter Zeilen sollten in einem Feld hintereinander aufgelistet werden. Da mein Online Shop nur ein Katalog Modus ist, könnte der Kunde einfach dann diese aufgelisteten Kürzel in das Anfrageformular kopieren und ich wüsste genau wie er sich das Produkt konfiguriert hat.

    Was ich bisher habe:
    Meine Überlegung war, dass jedesmal wenn eine Checkbox aktiviert oder deaktiviert wird, der Code jede Zeile überprüft ob die Checkbox aktiviert ist und wenn das so ist dann den Preis zu der Variablen Gesamtpreis hinzuzählt. Für das Auflisten der Kürzel weiß ich nicht genau wie das umzusetzen ist.
    Den folgende Code für die Summe des Preises hab ich bis jetzt.
    PHP-Code:
    $gesamt_preis 0;

    for(
    $i=0;$i<$count;$i++){
        if (isset(
    $_POST['checkbox'.$i])) {
                  
    $id_zeile $checkbox[$i];
              
    $gesamt_preis $id_zeile['Preis'] = $gesamt_preis;
    }
        echo 
    $gesamt_preis;

    Ist kein besonderer Code, aber wie gesagt ich bin absoluter Anfänger. Ich hoffe, dass ihr mir weiterhelfen könnt.
    Jedenfalls danke schon mal für jede Hilfe.

  • #2
    PHP-Code:
    <td align="center">
       <input name="checkbox[<?php echo $row['Id']; ?>]" type="checkbox" id="checkbox[]" />
       <input name="preis[<?php echo $row['Id']; ?>]" type="hidden" value="<?php echo $row['Preis']; ?>" />
    </td>        
    <td><?php echo $row['Zusatzangebot']; ?></td>
    <td><?php echo $row['Zusatz_Kuerzel']; ?></td>
    <td style="text-align:right"><?php echo $row['Preis']; ?></td>
    <td style="text-align:left">€</td>
    PHP-Code:
    foreach ($_POST['checkbox'] as $id => $value)
      echo 
    "Preis: " $_POST['preis'][$id]; 

    Kommentar


    • #3
      AW: Summe aus Felder mit Checkbox

      Hi,

      du schreibst - "Meine Überlegung war, dass jedesmal wenn eine Checkbox aktiviert oder deaktiviert, wird der Code jede Zeile überprüft ob die Checkbox aktiviert ist und wenn das so ist dann den Preis zu der Variablen Gesamtpreis hinzuzählt".

      Ich bin mir nicht sicher was du damit tatsächlich meinst.
      Die PHP Lösung, wie du die Preise am Ende auswerten kannst, wurde dir schon vorgeschlagen. Aber irgendwie vermute ich, wegen "echo" in deinem Code, dass du das auch gleich "live" anzeigen willst. Das kannst du vernünftig nur mit JavaScript machen, weil alle Formularänderungen auf Client Seite passieren.

      Da du schreibst, dass du ein "Anfänger" bist, dachte ich mal, dass diese Information evtl. nützlich sein könnte. :-)

      Kommentar


      • #4
        @bandit600
        danke für den Code. Ich werde aber leider erst die nächsten Tage dazukommen es zu testen.

        @andr_orl
        genau ich möchte den Gesamtpreis live angezeigt haben. Wenn jemand auf meine Homepage geht und eine Produkt auswählt, soll er zB 10 Zusatzoptionen haben. Und je nachdem was der Kunde auswählt soll er immer gleich live den Gesamtpreis dieser Zusatzoptionen angezeigt bekommen. Und im Idealfall auch in einem separaten Feld immer live eine Auflistung der Kürzel der Zusatzangebote (mit Komma getrennt oder so).

        JavaScript unterscheidet sich von Java oder? Weil Java hätte ich wenigstens schon Grundlagen. Das habe ich vor Jahren gelernt.

        Kommentar


        • #5
          JavaScript hat mit JAVA nichts zu tun :-) Nur die Syntax ist ähnlich. PHP ist Server Sprache - das Script wird einmal ausgeführt z.B. um eine Seite zu generieren. JavaScript ist Client Sprache - alles wird "live" im Browser ausgeführt.

          PHP benutzt man um z.B. mit DB zu arbeiten, JS um die Webseite dynamisch zu machen (Clickevents, Popup, Elementen ein/ausblenden usw.).

          ein wenig grob beschrieben, aber denke es reicht erstmal :-)
          Zuletzt geändert von andr_orl; 20.12.2016, 22:07.

          Kommentar


          • #6
            Zitat von andr_orl Beitrag anzeigen
            PHP benutzt man um z.B. mit DB zu arbeiten, JS um die Webseite dynamisch zu machen (Clickevents, Popup, Elementen ein/ausblenden usw.).
            Auch mit PHP werden dynamische Webseiten erstellt.

            Kommentar


            • #7
              Klar, ich habe das Wort "dynamisch" ein wenig falsch verwendet.
              Wollte nur ganz allgemein erklären wofür man PHP und JS benutzt. :-)

              Man kann natürlich nach jedem Klick die Seite mit PHP neuladen, aber JS wäre in diesem Fall sinnvoller, oder sehe ich das falsch?

              Kommentar


              • #8
                Zitat von andr_orl Beitrag anzeigen
                JS wäre in diesem Fall sinnvoller, oder sehe ich das falsch?
                Genau gesagt: mit jquery und PHP ist das machbar

                Kommentar


                • #9
                  danke für eure Hilfe.
                  Ich werde mich dann mal die nächsten Wochen in jquery einlesen.

                  Kann ich hier dem Thread auf euch zurückkommen, falls mein Code nicht funktionieren sollte?

                  Kommentar

                  Lädt...
                  X