Berechnung von Grundstückpreisen

Status
Dieses Thema wurde gelöst! Zur Lösung gehen…

basti1012

Erfahrenes Mitglied
Schöner Hinweis. Die Idee dahinter, war, dass wenn er "3" gewählt hat auch mit 3 rechnet.

Die if() könnte man kompakter gestalten, jedenfalls bei der Provision?
In dem Fall würde ich das <option> Feld mit PHP zusammenbauen.
Stell dir vor, du hast 100 <options> Tags, willst du dann in jeden eine if Abfrage reinbauen (die so eh eigentlich falsch ist) ?

Im anderen Thema wurde dir ja schon erklärt, wie man sowas zusammenbaut.
Da muss nur noch eine Abfrage rein, welches Feld selektiert wurde und dann hast du ein Problem weniger.
 

Zvoni

Erfahrenes Mitglied
Anstelle von Option-buttons würde ich ne ComboBox/DropDownList nehmen.
oder einfach ein Textfeld, welches den eingegebenen Wert gegen die Grenzen (3 bis 7%) validiert. So kann man auch 4,75% Provision eingeben, und sich das ganze „If„-Gemurkse sparen.
 

Kenney

Mitglied
Anstelle von Option-buttons würde ich ne ComboBox/DropDownList nehmen.
oder einfach ein Textfeld, welches den eingegebenen Wert gegen die Grenzen (3 bis 7%) validiert. So kann man auch 4,75% Provision eingeben, und sich das ganze „If„-Gemurkse sparen.
Vielen Dank. Ich versuche diesen Vorschlag umzusetzen.


In dem Fall würde ich das <option> Feld mit PHP zusammenbauen.
Stell dir vor, du hast 100 <options> Tags, willst du dann in jeden eine if Abfrage reinbauen (die so eh eigentlich falsch ist) ?

Im anderen Thema wurde dir ja schon erklärt, wie man sowas zusammenbaut.
Da muss nur noch eine Abfrage rein, welches Feld selektiert wurde und dann hast du ein Problem weniger.
Dir auch vielen Dank. Dieses werde ich auch umsetzen.
 

Sempervivum

Erfahrenes Mitglied
Ich bin hier zwar weit gehend draußen wegen des "Viele Köche ..." aber ein Hinweis: Angesichts der Tatsache, dass der Fragesteller noch einige Verständnisprobleme hat ist es wenig zielführend, x Varianten vorzuschlagen. Statt dessen auf eine konzentrieren und versuchen zu erklären, wie sie funktioniert. Das Select aus dem Eingangsposting ist dafür durchaus geeignet weil der Fragesteller es schon in seinem vorigen Projekt verwendet hat.
 

Kenney

Mitglied
Hallo,
die Vorschläge sind eingearbeitet worden.

Leider kann ich diese nicht testen, weil ich den Fehler nicht korrekiert bekomme.

uncaught typeerror: unsupported operand types: string / int

Hier das abgeänderte Modell
Code:
<!doctype html>
<html lang="de">
<head>
  <meta charset="utf-8">
  <title>Berechnung des Grundstückes</title>
  <?php
    error_reporting(-1);
    ini_set("display_errors", 1);
    ?>
  <?php
  include("E4_Grundstueck.incl.php");
  ?>
</head>
<body>
  <?php
    if(isset($_POST["breite"]))
    {
    ?>
  
  <?php  
    //Felder vorbelegen
        $breite = (isset($_POST["breite"])) ? $_POST["breite"]: "";
        $laenge = (isset($_POST["laenge"])) ? $_POST["laenge"]: "";
        $preisqm = (isset($_POST["preisqm"])) ? $_POST["preisqm"]: "";
        $proSatz = (isset($_POST["proSatz"])) ? $_POST["proSatz"]: "";
        $cbmwst = (isset($_POST["cbmwst"])) ? $_POST["cbmwst"]: "";
 
    //Berechnung
        $qm = multiplikation($breite, $laenge);
        $nettPr = multiplikation($preisqm, $qm);
        $proNett = nettPrmPro($proSatz, $nettPr);
        $brPr = nettPrmMwst($cbmwst, $proNett);
    
    //Ausgabe
      echo "<p>Breite: $breite m<br>
                Länge: $laenge m<br>
                Preis pro qm: $preisqm €<br>
                Nettopreis: $nettPr €<br>
                Nettopreis mit Provision: $proNett €<br>
                Bruttopreis: $brPr €</p>";
    
  ?>
  <?php
    }
    ?>
<h2>Grundstückspreise</h2>
  <form method="post">
    <fieldset>
      <label for="breite">Breite: </label>
      <input type="text" id="breite" name="breite" required placeholder="Breite?">
      <br>
      <label for="laenge ">Länge: </label>
      <input type="text" id="laenge" name="laenge" required placeholder="Länge?">
      <br>
      <label for="preisqm: ">Preis pro m²: </label>
      <input type="text" id="preisqm" name="preisqm" required placeholder="Preis / m²?">
      <br>
      <label for="proSatz">Provisionssatz: </label>
        <select name="proSatz">
        <?php
        $proSatzArr = [3, 4, 5, 6, 7];
                foreach($proSatzArr As $proS)
                    {
                    $ausgabe = "<option value '{$proS}'";
                    if(isset($_POST["proSatz"]))
                    {
                        if($_POST["proSatz"] == $proS)
                        {
                            $ausgabe .= " selected";
                        }
                    }
                    if(empty($_POST["proSatz"]))
                    {
                        $proS;
                    }
                    $ausgabe .= ">$proS</option>\n";
                    echo $ausgabe;
                    }
        ?>
        </select>
      <br>
      <input type="checkbox" id="cbmwst" name="cbmwst" value="19">
      <label for="cbmwst">MwSt</label>
    </fieldset>
    <p>
    <input type="submit" value="Berechnen">
    </p>
  </form>
</body>
</html>

Vielleicht könntet ihr mich auf die richtige Spurr bringen.
 
Status
Dieses Thema wurde gelöst! Zur Lösung gehen…

Neue Beiträge