Strecke (km) berechnen und ausgeben

CreativPur

Erfahrenes Mitglied
hi..

ich habe ein Formular, wo user eine Strecke von - bis und eine Wartezeit eingeben können.
Auf der Ausgabeseite wird alles errechnet und ausgegeben.

Leider funktioniert die Berechnung der km bei mir nicht.. Alle Strecken werden mit 1 Km ausgegeben.
Wo liegt der Fehler, und wie kann ich die Km addieren zu Gesamt-Km ?

Eingabeformular:

Code:
<?php include_once '../head.php' ?>


<script language="javascript">
        function addRow(tableID) {
            var table = document.getElementById(tableID);
            var rowCount = table.rows.length;
            var row = table.insertRow(rowCount);
            var colCount = table.rows[0].cells.length;
            for(var i=0; i<colCount; i++) {
                var newcell = row.insertCell(i);
                newcell.innerHTML = table.rows[0].cells[i].innerHTML;
                //alert(newcell.childNodes);
                switch(newcell.childNodes[0].type) {
                    case "text":
                            newcell.childNodes[0].value = "";
                            break;
                    case "checkbox":
                            newcell.childNodes[0].checked = false;
                            break;
                    case "select-one":
                            newcell.childNodes[0].selectedIndex = 0;
                            break;
                }
            }
        }
        function deleteRow(tableID) {
            try {
            var table = document.getElementById(tableID);
            var rowCount = table.rows.length;
            for(var i=0; i<rowCount; i++) {
                var row = table.rows[i];
                var chkbox = row.cells[0].childNodes[0];
                if(null != chkbox && true == chkbox.checked) {
                    if(rowCount <= 1) {
                        alert("Sie müssen mindestens ein Ziel eingeben.");
                        break;
                    }
                    table.deleteRow(i);
                    rowCount--;
                    i--;
                }
            }
            }catch(e) {
                alert(e);
            }
        }
</script>
  
  
<body class="hintergrund">
        <div class="container" align="center">
                <div class="textblock">

                      
                      
                        <?php
                                $distance_anfahrt = 0;
                                $start_adresse_anfahrt = $_POST['start_anfahrt'];
                                $ziel_adresse_anfahrt = $_POST['ziel_anfahrt'];
                              
                                $chkbox = $_POST['chk'];
                                $distance_strecke = 0;
                                $start_adresse_strecke = $_POST['strecke_abfahrt'];
                                $ziel_adresse_strecke = $_POST['strecke_ziel'];
                                $wartezeit = $_POST['wartezeit'];
                              
                                    {
                                    echo '<form action="ausgabe.php" method="post">
                                    <input type="hidden" name="start_anfahrt" value="34434 Natingen">
                                    <br>
                                    <label style="color:blue;">Bitte geben Sie Ihren Abholort bzw. Startort ein:</label><br>
                                    <input type="text" size="150" name="ziel_anfahrt" value="">
                                    <br />
                                    <p style="color:green; font-size:12px;">z.B. 34117 Kassel, Beethovenstr.13</p>
                                    <div>
                                    <br /><br />

                                        <table class="table table-hover">
                                            <thead>
                                                <tr >
                                                    <th class="text-center" width="20">
                                                        <label class="label">Löschen:</label>
                                                    </th>
                                                    <th class="text-left ">
                                                        <label class="label">Geben Sie bitte Ihr Abfahrtort ein: Von</label>
                                                    </th>
                                                    <th class="text-left">
                                                        <label class="label">Geben Sie bitte Ihr Zielort ein: Nach</label>
                                                    </th>
                                                    <th class="text-left">
                                                        <label class="label">Wartezeit vor der Lokation:</label>
                                                    </th>
                                                  
                                                  
                                                </tr>
                                            </thead>
                                            <tbody id="dataTable">
                                                    <td width="20"><input type="checkbox" name="chk[]" align="center"/></td>
                                                    <td class=""><input class="form-control " type="text" name="strecke_abfahrt[]"/></td>
                                                    <td><input class="form-control" type="text" name="strecke_ziel[]"/></td>
                                                    <td>
                                                        <select class="form-control" name="wartezeit[]">
                                                            <option value="">Bitte wählen</option>
                                                            <option value="0">Keine Wartezeit</option>
                                                            <option value="0.25">15 Minuten</option>
                                                            <option value="0.5">30 Minuten</option>
                                                            <option value="0.75">45 Minuten</option>
                                                            <option value="1">1 Sunde</option>
                                                            <option value="2">2 Stunden</option>
                                                            <option value="3">3 Stunden</option>
                                                            <option value="4">4 Stunden</option>
                                                            <option value="5">5 Stunden</option>
                                                            <option value="6">6 Stunden</option>
                                                            <option value="7">7 Stunden</option>
                                                            <option value="8">8 Stunden</option>
                                                        </select>
                                                    </td>
          
                                            </tbody>
                                        </table>
  
                                        <br />
                                        <input type="button" value="x" class="btn-danger btn-xs" onclick="deleteRow(`dataTable`)" style="float:left;" />
                                        <input type="button" value="Weitere Station" onclick="addRow(`dataTable`)" style="float:right;" class="btn btn-info" />  

                                        <div  align="center">
                                                <hr />
                                                <input type="submit" value="Weiter" class="btn btn-success">
                                                <input type="button" value="Fenster schließen" onClick="window.close()" class="btn btn-danger">
                                        </div>
                                        </form>';
                                    }
                                ?>
                         
                  </div>
        </div>
</body>


Ausgabe-Seite:

Code:
<?php include_once '../head.php' ?>

<script>
function calc()
{
  var km_anfahrt = document.getElementById('km_anfahrt').value;
  console.log(km_anfahrt);

  var km_strecke = document.getElementById('km_strecke').value;
  console.log(km_strecke);

  var wartezeit_std = document.getElementById('wartezeit_std').value;
  console.log(wartezeit_std);

  var addition = document.getElementById('addition').value;
  console.log(addition);

  var multiplikation = document.getElementById('multiplikation').value;
  console.log(multiplikation);




  var summe_anfahrt_preis = eval(km_anfahrt * 2.22)
  console.log(summe_anfahrt_preis);
  summe_anfahrt_preis = summe_anfahrt_preis.toFixed(2);
  document.getElementById('sum_anfahrt_preis').innerHTML = summe_anfahrt_preis;

  var summe_km_strecke = eval(km_strecke)
  console.log(summe_km_strecke);
  summe_km_strecke = summe_km_strecke.toFixed(2);
  document.getElementById('sum_km_strecke').innerHTML = summe_km_strecke;
  document.getElementById('sum_km_strecke2').innerHTML = summe_km_strecke;


  var summe_strecke_preis = eval(km_strecke + multiplikation + 2.22)
  console.log(summe_strecke_preis);
  summe_strecke_preis = summe_strecke_preis.toFixed(2);
  document.getElementById('sum_strecke_preis').innerHTML = summe_strecke_preis;

  var summe_wartezeit_preis = eval(wartezeit_std + multiplikation + 35)
  console.log(summe_wartezeit_preis);
  summe_wartezeit_preis = summe_wartezeit_preis.toFixed(2);
  document.getElementById('sum_wartezeit_preis').innerHTML = summe_wartezeit_preis;

  var summe_gesamt = eval(summe_anfahrt_preis + addition + summe_strecke_preis + addition + summe_wartezeit_preis)
  console.log(summe_gesamt);
  summe_gesamt = summe_gesamt.toFixed(2);
  document.getElementById('sum_gesamt').innerHTML = summe_gesamt;

}
</script>  
  
<h3>Ausgabe-Seite:</h3>

<br /><br />

<div class="container" align="center">
        <div class="textblock">
                <h3 style="color: #009;"> Kalkulation Ihrer Fahrt zu Ihren privaten Events mit Zwischenstationen</h3>
                <hr />
                <?php
                        $distance_anfahrt = $_POST['distance_anfahrt'];
                        $start_adresse_anfahrt = $_POST['start_anfahrt'];
                        $ziel_adresse_anfahrt = $_POST['ziel_anfahrt'];
                              
                        if($start_adresse_anfahrt!='' && $ziel_adresse_anfahrt!=''){
                        $url="http://maps.googleapis.com/maps/api/distancematrix/xml?origins=".$start_adresse_anfahrt."+DE&destinations=".$ziel_adresse_anfahrt."+DE&mode=driving&language=de-DE&sensor=false";
                        if($xml=simplexml_load_file($url)){
                        if($xml->status=='OK'){
                        $distance_anfahrt = $xml->row->element->distance->text;
                        $distance_anfahrt = preg_replace('/\skm/', '', $distance_anfahrt);
                        $distance_anfahrt = preg_replace('/\./', '', $distance_anfahrt);
                        $distance_anfahrt = (float) $distance_anfahrt;
                                }
                            }
                        }
                              
                      
                        $distance_strecke = $_POST['distance_strecke'];
                        $start_adresse_strecke = $_POST['strecke_abfahrt'];
                        $ziel_adresse_strecke = $_POST['strecke_ziel'];
                        $wartezeit = $_POST['wartezeit'];
                        if($start_adresse_strecke!='' && $ziel_adresse_strecke!=''){
                        $url="http://maps.googleapis.com/maps/api/distancematrix/xml?origins=".$start_adresse_strecke."+DE&destinations=".$ziel_adresse_strecke."+DE&mode=driving&language=de-DE&sensor=false";
                        if($xml=simplexml_load_file($url)){
                        if($xml->status=='OK'){
                        $distance_strecke = $xml->row->element->distance->text;
                        $distance_strecke = preg_replace('/\skm/', '', $distance_strecke);
                        $distance_strecke = preg_replace('/\./', '', $distance_strecke);
                        $distance_strecke = (float) $distance_strecke;
                      
                      
                                }
                            }
                        }
                ?>
                      
                      
                <div style="color:#000; font-size:11px;" align="left">
                        <?php echo 'Die Entfernung zwischen 34434 Natingen ( Standort von Cheffeur delux ) und '.$ziel_adresse_anfahrt . ' ( Ihrem Abholort ) beträgt: ' .$distance_anfahrt . ' km '; ?>
                        <hr />
                        <?php
                                foreach($ziel_adresse_strecke   as $a => $b)
                                echo "Ihre Route von $start_adresse_strecke[$a]  nach $ziel_adresse_strecke[$a]:<br />Entfernung: $distance_strecke  Kilometer
                                <br />Wartezeit in $ziel_adresse_strecke[$a] : $wartezeit[$a] Stunde/n <br /><br />";
                        ?>
                        <hr />
                              

                        <br /><br />
                        Berechnung Anfahrt Kilometer:
                        <br />
                            <input type='text' id='km_anfahrt' size="5" value="<?php echo $distance_anfahrt ?>"><input type='text' id="multiplikation" size="1" value="*"><input type='text' size="1" value="2.22">
                          
                        <br /><br />
                      
                        Strecke von bis:
                        <br />
                        <?php foreach($ziel_adresse_strecke   as $a => $b)   
                        echo "                                 
                            <input type='text' id='strecke_abfahrt' size='20' value=' $start_adresse_strecke[$a] '>
                            <input type='text' id='strecke_ziel' size='20' value=' $ziel_adresse_strecke[$a] '><br />
                            "
                        ?>  
                      
                        <br /><br />
                      
                        Berechnung Strecke Kilometer:
                        <br />
                        <?php foreach($ziel_adresse_strecke as $a => $b)   
                        echo "
                            <input type='text' id='km_strecke' size='5' value='$distance_strecke'><input type='text' size='1' value='+'><br />
                            ";
                            echo '= ';
                        $a = array($distance_strecke[$a]); echo array_sum($distance_strecke) . "\n Kilometer <br />";
                        ?>  
                        <br />
                     
                        <br /> <br />
                                                             
                        Berechnung Wartezeit:
                        <br />
                        <?php foreach($ziel_adresse_strecke as $a => $b)   
                        echo "
                            <input type='text' size='5' value='$wartezeit[$a]'><input type='text' size='1' value='+'><br />
                            ";
                          
                            echo '= ';
                          
                        $a = array($wartezeit[$a]); echo array_sum($wartezeit) . "\n Stunden <br />";
                        ?>
                      
                        <br />
                        <input type='text' id='wartezeit_std' size="5" value="<?php $a = array($wartezeit[$a]); echo array_sum($wartezeit) ?>">
                        <input type='text' size='1' value='*'><input type='text' size='1' value='35'><input type='text' size='1' value='='><input type='text' size='20' value='Summe wartezeit/preis'>  
                      
                        <br /><br />
                      
                            <input type='text' class="hidden" id='addition' size="1" value="+">
                      
                        <br /><br />
                        <hr />
                      
                        <div id="errechnen_button" align="center">
                                <input type="button" name="errechnen" value="Kosten für private Events-Fahrt berechnen" class="btn btn-default"
                                onClick="einblenden('errechnen'); return false, calc();">
                                <hr />
                        </div>
                      
                </div>
                <div class="errechnen" id="errechnen" style="display:none;"> 
                        <div class="row">
                                <div class="col-md-6 col-lg-6 col-sm-6 col-xs-6" >
                                        <h5><u>Ihre Fahrt ergibt folgende Gesamt-Kilometer:</u></h5>
                                        <span style="color:green; font-size:24px;" id="sum_km_strecke"></span>&nbsp;&nbsp;<span style="font-size:14px; color:#565b57;"> km</span>
                                        <hr />
                                        <br />
                                </div>
                                <div class="col-md-6 col-lg-6 col-sm-6 col-xs-6" >
                                        <h5><u>Ihre Wartezeiten </u></h5>
                                        haben Sie mit insgesamt&nbsp;&nbsp;
                                        <span style="color:green; font-size:24px;">
                                        <?php $a = array($wartezeit[$a]); echo array_sum($wartezeit) . "\n"; ?>
                                        </span>&nbsp;
                                        <span style="font-size:14px; color:#565b57;"> Stunden</span> eingeplant.
                                        <hr />
                                        <br />
                                </div>
                       
                                      
                         <div class="col-md-3 col-lg-3 col-sm-3 col-xs-3" >
                                        <label style="color:#565b57">Anfahrtkosten <?php echo 'für '.$distance_anfahrt; ?> km</label>
                                        <hr style="margin-top:-1px; border-color:green;" />
                                        <span style="font-size:12px; color: #0a0aa3;">von <strong style="color:#FC6;">Chauffeur delux</strong> <?php echo 'nach
                                        <br />'.$ziel_adresse_anfahrt; ?>
                                        </span>
                                        <br />
                                        <hr style=" border-color:green;" />
                                        <span style="color:green; font-size:24px;" id="sum_anfahrt_preis">
                                        </span>&nbsp;&nbsp;
                                        <span style="font-size:14px; color:#565b57;"> €</span><br />
                        </div>
                                                      
                        <div class="col-md-3 col-lg-3 col-sm-3 col-xs-3" >
                                <label style="color:#565b57">Gesamte Kilometer</label>
                                <hr style="margin-top:-1px; border-color:green;" />
                                <span style="font-size:12px; color: #0a0aa3;" id="sum_km_strecke2"></span><span style="font-size:12px; color: #0a0aa3;"> Kilometer</span>
                                <br /><br />
                                <hr style=" border-color:green;" />
                                <span style="color:green; font-size:24px;" id="sum_strecke_preis">
                                </span>&nbsp;&nbsp;
                                <span style="font-size:14px; color:#565b57;"> €</span><br />
                        </div>
                                                      
                        <div class="col-md-3 col-lg-3 col-sm-3 col-xs-3" >
                                <label style="color:#565b57">Gesamte Wartezeit</label>
                                <hr style="margin-top:-1px; border-color:green;" />
                                <span style="font-size:12px; color: #0a0aa3;">Gesamt-Wartezeit: <?php $a = array($wartezeit[$a]); echo array_sum($wartezeit) . "\n"; ?>
                                </span><span style="font-size:12px; color: #0a0aa3;"> Stunden</span>
                                <br /><br />
                                <hr style=" border-color:green;" />
                                <span style="color:green; font-size:24px;" id="sum_wartezeit_preis">
                                </span>&nbsp;&nbsp;
                                <span style="font-size:14px; color:#565b57;"> €</span><br />
                        </div>
                                                      
                        <div class="col-md-3 col-lg-3 col-sm-3 col-xs-3">
                                <label style="color:#565b57">Kosten Gesamt</label>
                                <hr style="margin-top:-1px; border-color:green;" /><br />
                                <span style="font-size:12px; color: #0a0aa3;">inkl. 19% MwSt.</span>
                                <hr style=" border-color:green;" />
                                <span style="color:green; font-size:24px;" id="sum_gesamt">
                                </span>&nbsp;&nbsp;
                                <span style="font-size:14px; color:#565b57;"> €</span><br />
                       </div>
                </div>
        </div>
</div>


<script type="text/javascript" language="JavaScript">
function einblenden(div) {
with(document.getElementById(div).style){
if(display=="none") { display="inline"; }
else{ display="none"; }
} }
</script>
<script>
function goback() {
    history.go(-1);
}
</script>
 
Zuletzt bearbeitet:
Sorry... Irgendwie will das nicht in meinen Kopf... Habe echt schon angst, hier etwas zu verfassen... Versuche dennoch mich zu bessern..
 
Hi, der ganze Wulst an Code (mit PHP,HTML und JS) ist so echt schwer zu durchblicken. Kannst du mal ein fertiges Minimalbeispiel erstellen: https://jsfiddle.net/ ?
Also wo der PHP Code schon fertig ausgeführt ist und entsprechend nurnoch mit HTML / JS gearbeitet werden soll...
 
Sorry.. Ich hoffe, so ist es besser..
Ich habe alles nochmals überarbeitet..
Das einzigste Problem was ich jetzt nur noch habe, ist das Addieren der Kilometer er einzelnen Strecken..


Irgendwie bekomme ich das über jsfiddle nicht gebacken.. Habe es noch nie gemacht..

Daher versuche ich den überarbeiteten Quelltext nochmals hier einzufügen

PHP:
<h3>Ausgabe-Seite:</h3>

<br /><br />

<div class="container" align="center">
        <div class="textblock">
                <h3 style="color: #009;"> Kalkulation Ihrer Fahrt zu Ihren privaten Events mit Zwischenstationen</h3>
                <hr />
                <?php
                        $distance_anfahrt = $_POST['distance_anfahrt'];
                        $start_adresse_anfahrt = $_POST['start_anfahrt'];
                        $ziel_adresse_anfahrt = $_POST['ziel_anfahrt'];
                              
                        if($start_adresse_anfahrt!='' && $ziel_adresse_anfahrt!=''){
                            $url="http://maps.googleapis.com/maps/api/distancematrix/xml?origins=".$start_adresse_anfahrt."+DE&destinations=".$ziel_adresse_anfahrt."+DE&mode=driving&language=de-DE&sensor=false";
                            if($xml=simplexml_load_file($url)){
                                if($xml->status=='OK'){
                                    $distance_anfahrt = $xml->row->element->distance->text;
                                    $distance_anfahrt = preg_replace('/\skm/', '', $distance_anfahrt);
                                    $distance_anfahrt = preg_replace('/\./', '', $distance_anfahrt);
                                    $distance_anfahrt = (float) $distance_anfahrt;
                                }
                            }
                        }
                              
                      
/*                        $distance_strecke = $_POST['distance_strecke'];
                        $start_adresse_strecke = $_POST['strecke_abfahrt'];
                        $ziel_adresse_strecke = $_POST['strecke_ziel'];
                        $wartezeit = $_POST['wartezeit'];
                        if($start_adresse_strecke!='' && $ziel_adresse_strecke!=''){
                        $url="http://maps.googleapis.com/maps/api/distancematrix/xml?origins=".$start_adresse_strecke."+DE&destinations=".$ziel_adresse_strecke."+DE&mode=driving&language=de-DE&sensor=false";
                        if($xml=simplexml_load_file($url)){
                        if($xml->status=='OK'){
                        $distance_strecke = $xml->row->element->distance->text;
                        $distance_strecke = preg_replace('/\skm/', '', $distance_strecke);
                        $distance_strecke = preg_replace('/\./', '', $distance_strecke);
                        $distance_strecke = (float) $distance_strecke;
                                }
                            }
                        }
    */
                        // Array zum Zwischenspeichern der Strecken bilden
                        $strecken = array();
                        $lastStation = $_POST['ziel_anfahrt'];
                        foreach ($_POST['strecke_ziel'] AS $nr => $ziel) {
                            $strecken[$nr]['abfahrt'] = $lastStation;
                            $strecken[$nr]['ziel'] = $ziel;
                            $lastStation = $ziel;
                        }
                        foreach ($_POST['wartezeit'] AS $nr => $zeit) {
                            $strecken[$nr]['wartezeit'] = $zeit;
                        }
                      
                        // Entfernung und dauer berechnen
                        $ergebnis_strecken = array();
                        $iEntfernung = 0;
                        foreach ($strecken AS $strecke) {
                            if ($strecke['abfahrt'] != $strecke['ziel']) {
                                $url="http://maps.googleapis.com/maps/api/distancematrix/xml?origins=".$strecke['abfahrt']."+DE&destinations=".$strecke['ziel']."+DE&mode=driving&language=de-DE&sensor=false";
                                if($xml=simplexml_load_file($url)) {
                                    if($xml->status=='OK') {
                                        $strecke['entfernung'] = $xml->row->element->distance->value / 1000;
                                        $strecke['dauer'] = round($xml->row->element->duration->value / 60);
                                        $iEntfernung += $strecke['entfernung'];
                                        $ergebnis_strecken[] = $strecke;
                                    }
                                }
                            }
                        }
              
                ?>
                      
                      
                <div style="color:#000; font-size:11px;" align="left">
                        <?php echo 'Die Entfernung zwischen 34434 Natingen ( Standort von Cheffeur delux ) und '. $ergebnis_strecken[0]['abfahrt'] . ' ( Ihrem Abholort ) beträgt: ' .$distance_anfahrt . ' km '; ?>
                        <hr />
                        <?php
                                foreach($ergebnis_strecken as $strecke) {
                                  ?>
                                    Ihre Route von <?php echo $strecke['abfahrt']; ?> nach <?php echo $strecke['ziel']; ?>:<br />
                                    Entfernung: <?php echo number_format($strecke['entfernung'], 2, ',', '.'); ?> Kilometer<br />
                                    Wartezeit in <?php echo $strecke['ziel']; ?> : <?php echo number_format($strecke['wartezeit'], 2, ',', '.'); ?> Stunde/n <br /><br />
                                  <?php
                                }
                              
                        ?>
                        <hr />
                              

                        <br /><br />
                        Berechnung Anfahrt Kilometer:
                        <br />
                            <input type='text' id='anfahrt_km' size="5" value="<?php echo $distance_anfahrt; ?>"><input type='text' id="multiplikation" size="1" value="*"><input type='text' size="1" value="2.22">
                          
                        <br /><br />
                      
                      
                        Berechnung gesamte Kilometer: <br />
                        <?php foreach($ergebnis_strecken AS $strecke) {
                        echo number_format($strecke['entfernung'], 2, ',', '.') . '<br />' ;
                        }
                        echo '= ' . array_sum($strecke['entfernung']);
                        ?>
                      
                        <br /><br />
                        <input type='text' id='strecke_km' size="5" value="<?php echo array_sum($strecke['entfernung']) ?>" />
                        <br /><br />
                        

                      
                     
                        Berechnung gesamte Wartezeit:
                        <?php foreach ($_POST['wartezeit'] AS $nr => $zeit)   
                        echo number_format(2, ',', '.');
                        echo '= ' . array_sum($_POST['wartezeit']) . "\n Stunden <br />";
                      
                        ?>
                            <input type='text' id='wartezeit_std' size="5" value="<?php echo array_sum($_POST['wartezeit']); ?>">
                       <br /><br />   
                            <input type='text' class="hidden" id='addition' size="1" value="+">
                        <hr />
                      
                        <div id="errechnen_button" align="center">
                                <input type="button" name="errechnen" value="Kosten für private Events-Fahrt berechnen" class="btn btn-default"
                                onClick="einblenden('errechnen'); return false, calc();">
                                <hr />
                        </div>
                      
                </div>
                <div class="errechnen" id="errechnen" style="display:none;"> 
                        <div class="row">
                                <div class="col-md-6 col-lg-6 col-sm-6 col-xs-6" >
                                        <h5><u>Ihre Fahrt ergibt folgende Gesamt-Kilometer:</u></h5>
                                        <span style="color:green; font-size:24px;" id="km_ausgabe2"></span>&nbsp;&nbsp;<span style="font-size:14px; color:#565b57;"> km</span>
                                        <hr />
                                        <br />
                                </div>
                                <div class="col-md-6 col-lg-6 col-sm-6 col-xs-6" >
                                        <h5><u>Ihre Wartezeiten </u></h5>
                                        haben Sie mit insgesamt&nbsp;
                                        <span style="color:green; font-size:24px;">
                                      
                                        </span>
                                        <span style="color:green; font-size:24px;"><?php echo array_sum($_POST['wartezeit']); ?> Stunden</span> eingeplant.
                                        <hr />
                                        <br />
                                </div>
                       
                                      
                         <div class="col-md-3 col-lg-3 col-sm-3 col-xs-3" >
                                        <label style="color:#565b57">Anfahrtkosten <?php echo 'für '.$distance_anfahrt; ?> km</label>
                                        <hr style="margin-top:-1px; border-color:green;" />
                                        <span style="font-size:12px; color: #0a0aa3;">von <strong style="color:#FC6;">Chauffeur delux</strong> <?php echo 'nach
                                        <br />'.$ziel_adresse_anfahrt; ?>
                                        </span>
                                        <br />
                                        <hr style=" border-color:green;" />
                                        <span style="color:green; font-size:24px;" id="sum_anfahrt_preis">
                                        </span>&nbsp;&nbsp;
                                        <span style="font-size:14px; color:#565b57;"> €</span><br />
                        </div>
                                                      
                        <div class="col-md-3 col-lg-3 col-sm-3 col-xs-3" >
                                <label style="color:#565b57">Gesamte Kilometer</label>
                                <hr style="margin-top:-1px; border-color:green;" />
                                <span style="font-size:12px; color: #0a0aa3;" id="km_ausgabe" ></span><span style="font-size:12px; color: #0a0aa3;"> Kilometer</span>
                                <br /><br />
                                <hr style=" border-color:green;" />
                                <span style="color:green; font-size:24px;" id="sum_strecke_preis" >
                                </span>&nbsp;&nbsp;
                                <span style="font-size:14px; color:#565b57;"> €</span><br />
                        </div>
                                                      
                        <div class="col-md-3 col-lg-3 col-sm-3 col-xs-3" >
                                <label style="color:#565b57">Gesamte Wartezeit</label>
                                <hr style="margin-top:-1px; border-color:green;" />
                                <span style="font-size:12px; color: #0a0aa3;">Gesamt-Wartezeit:
                                </span>
                                <span style="font-size:12px; color: #0a0aa3;"><?php echo array_sum($_POST['wartezeit']); ?> Stunden</span>
                                <br /><br />
                                <hr style=" border-color:green;" />
                                <span style="color:green; font-size:24px;">
                                </span>&nbsp;&nbsp;
                                <span style="color:green; font-size:24px;" id="sum_wartezeit_preis">
                                </span>&nbsp;&nbsp;
                                <span style="font-size:14px; color:#565b57;"> €</span><br />
                        </div>
                                                      
                        <div class="col-md-3 col-lg-3 col-sm-3 col-xs-3">
                                <label style="color:#565b57">Kosten Gesamt</label>
                                <hr style="margin-top:-1px; border-color:green;" /><br />
                                <span style="font-size:12px; color: #0a0aa3;">inkl. 19% MwSt.</span>
                                <hr style=" border-color:green;" />
                                <span style="color:green; font-size:24px;" id="sum_gesamt_preis">
                                </span>&nbsp;&nbsp;
                                <span style="font-size:14px; color:#565b57;"> €</span><br />
                       </div>
                </div>
        </div>
</div>


Javascript:
<script>
function calc()
{
  var anfahrt_km = document.getElementById('anfahrt_km').value;
  console.log(anfahrt_km);

  var strecke_km = document.getElementById('strecke_km').value;
  console.log(strecke_km);
    
  var wartezeit_std = document.getElementById('wartezeit_std').value;
  console.log(wartezeit_std);


  var multiplikation = document.getElementById('multiplikation').value;
  console.log(multiplikation);

  var addition = document.getElementById('addition').value;
  console.log(addition);



  var summe_anfahrt_preis = eval(anfahrt_km + multiplikation + 2.22)
  console.log(summe_anfahrt_preis);
  summe_anfahrt_preis = summe_anfahrt_preis.toFixed(2);
  document.getElementById('sum_anfahrt_preis').innerHTML = summe_anfahrt_preis;

  var strecke_km_ausgabe = eval(strecke_km)
  console.log(strecke_km_ausgabe);
  strecke_km_ausgabe = strecke_km_ausgabe.toFixed(2);
  document.getElementById('km_ausgabe').innerHTML = strecke_km_ausgabe;
  document.getElementById('km_ausgabe2').innerHTML = strecke_km_ausgabe;

  var summe_strecke_preis = eval(strecke_km + multiplikation + 2.22)
  console.log(summe_strecke_preis);
  summe_strecke_preis = summe_strecke_preis.toFixed(2);
  document.getElementById('sum_strecke_preis').innerHTML = summe_strecke_preis;

  var summe_wartezeit_preis = eval(wartezeit_std + multiplikation + 35)
  console.log(summe_wartezeit_preis);
  summe_wartezeit_preis = summe_wartezeit_preis.toFixed(2);
  document.getElementById('sum_wartezeit_preis').innerHTML = summe_wartezeit_preis;

  var summe_gesamt_preis = eval(summe_anfahrt_preis + addition + summe_strecke_preis + addition + summe_wartezeit_preis)
  console.log(summe_gesamt_preis);
  summe_gesamt_preis = summe_gesamt_preis.toFixed(2);
  document.getElementById('sum_gesamt_preis').innerHTML = summe_gesamt_preis;
}
</script>  

<script type="text/javascript" language="JavaScript">
function einblenden(div) {
with(document.getElementById(div).style){
if(display=="none") { display="inline"; }
else{ display="none"; }
} }
</script>
 
Zuletzt bearbeitet:
Im Grunde genommen geht es hier nur noch um folgende Berechnung..

PHP:
 Berechnung gesamte Kilometer: <br />
                        <?php foreach($ergebnis_strecken AS $strecke) {
                        echo number_format($strecke['entfernung'], 2, ',', '.') . '<br />' ;
                        }
                        echo '= ' . array_sum($ergebnis_strecken['entfernung']);
                        ?>

Die Anzahl der Kilometer werden ausgegeben, aber sie werden nicht miteinander addiert und ausgegeben.
 
Hallo CreativPur,

in Zeile 3 behandelst Du "$ergebnis_strecken['entfernung']" als String und in Zeile 5 als Array.
Da Du sagtest, dass die values zwar ausgegeben, aber nicht addiert werden (Zeile5), denke ich das der Fehler dort liegt (Zeile5).

$ergebnis_strecken['entfernung'] === string
$ergebnis_strecken === array

Lösungsansatz:
Innerhalb der forEach-Schleife alle Werte aus $ergebnis_strecken['entfernung'] addieren und anschließend ausgeben.

Liebe Grüße
 
Ja Danke...

Ich habe es folgend gelöst..

PHP:
<?php $ra=0; foreach($ergebnis_strecken as $strecke) {
                           $ra+=$strecke['entfernung'];
                        echo number_format($strecke['entfernung'], 2, ',') . '<br />' ;
                        }
                        echo 'Km Gesamt = ' . $ra;
                        ?>
 
Zurück