तो मैं वही किराने की सूची कर रहा हूं जो मैंने पहले जेस्क्रिप्ट में एक असाइनमेंट के लिए किया था लेकिन अब PHP में। जब मैं कुल की गणना करने की कोशिश करता हूं तो यह मुझे एक अजीब संख्या देता है।

$result मात्रा (वार्डे और एंटल, इसका डच) से गुणा उत्पाद की कीमत से एक गणना है।

इसलिए जब मैं $total += $result करता हूं;

और फिर मैं इसे प्रतिध्वनित करता हूं, मुझे बहुत अजीब परिणाम मिलता है।

मेरे लिए ऐसा लगता है कि यह सभी परिणामों से नहीं जाता है। मैंने इसके लिए $i अनुक्रमणिका का उपयोग करने का प्रयास किया। लेकिन यह काम नहीं करता है। मैं क्या खो रहा हूँ?

(PHP के लिए बहुत नया सिर्फ जावास्क्रिप्ट के मूल में थोड़ा सा सीखा है)

अपेक्षित परिणाम तालिका में दिखाए गए सभी योग हैं जो कुल बनाने के लिए एक साथ जोड़े गए हैं: 15.76

अब परिणाम 31.984.85.98 है, वह जादुई संख्या भी क्या है? हो सकता है कि मैं संख्या प्रारूप में कुछ गलत कर रहा हूं, अब उस पर भी गौर कर रहा हूं। (जैसा कि मैंने किया था, कोड साझा करना भी सामान्य है? जाहिर तौर पर यह वास्तव में PHP के लिए नहीं है, मुझे लगता है क्योंकि यह एक सर्वर-साइड चीज़ है) मेरे पास इसके मूल जावास्क्रिप्ट संस्करण का कोडपेन है: https://codepen.io/3lly/pen/oNxaPKg शायद स्पष्ट दृश्य के लिए, आप देख सकते हैं कि मेरा क्या मतलब है। सभी कुल स्तंभ कक्षों का योग।

table {
     
    margin-top: 20px;
    display: inline-block;
    
}
 
th, td , input {
    border: 2px solid #FFB000;
    padding: 2px;
    color: black;

}

body {
    text-align: center;
  
}
h1 {
    color: #FFB000;
    font-family: impact;
    text-shadow: -1px 0 black, 0 1px black, 1px 0 black, 0 -1px black;
}
p {
    color: white;
}
 
div {
    display: inline-block;
}
 
#add {
    display: inline-block;
    padding: 10px 20px;
    background: orange;
    box-shadow: -3px 3px black, -2px 2px black, -1px 1px black;
    border: 1px solid orange;

}

#add:hover {
    background: green;
    color: white;
}

input[type="text"], input[type="number"] {
    background-color: skyblue;
}

input[type="number"]:hover {
    background-color: black;
  }

#totaal {
    border: 2px solid #FFB000;
    background-color: #282828;
    padding: 5px;
    color: skyblue;
    
}

#totaal:hover{
    background-color: green;
    color: white;
}
<head>
<link rel="stylesheet" href="style.css">  
    <title>Boodschappenlijst</title>
</head>
<body>
    <h1> Boodschappenlijst </h1>
    <div id="container"></div>
    <table>
        <tr>
        <?php
        $headerTexts = ['Name', 'Prijs', 'Aantal', 'Totaal'];
        for($i=0;$i<count($headerTexts);$i++) {    
            echo "<th>" . $headerTexts[$i] . "</th>";   
        }
        ?>
        </tr>
        <?php  
     
            for($i=0;$i<count($products);$i++) {
                //result calculations
                $total = 0;
                 $result = number_format($products[$i]['waarde'] * $products[$i]['aantal'],2);
                 $total += $result;
                 echo $total;
                 //echo "<pre>" . is_int($products['waarde']) .  "</pre>";
                //Table Rows
                echo    "<tr>";
                echo    "<td>" . $products[$i]['omschrijving']  . "</td>" . 
                        "<td>" . $products[$i]['waarde'] . "</td>" . 
                        "<td>" . $products[$i]['aantal'] . "</td>" . 
                        "<td>" . $result . "</td>";
                echo    "</tr>";                  
        }   

        ?>
        </tr>
    </table>
    <p>Naam</p>
    <form>
        <input type="text" name="item" id="naam" /><br />
            <p>Aantal</p>
        <input type="text" name="quantity" id="qty" /><br />
            <p>Prijs</p>
        <input type="text" name="price" id="prijs" /><br/><br />
        <input type="button" value="Add Product" onclick="updateTable()" id="add"><br /><br />
    </form>
    <div id="totaal"></div>
    <!-- <script src="script.js"></script>-->
</body>
</html>
0
Codelly 23 सितंबर 2020, 20:08

1 उत्तर

सबसे बढ़िया उत्तर

इसलिए मैंने प्रत्येक उत्पाद की कुल गणना के परिणामों को उस सरणी में धकेल दिया जो मैंने पहले ऐसा नहीं किया था:

 $products[$i]['total'] = $products[$i]['waarde'] * $products[$i]['aantal'];

आगे मैंने गणना इस प्रकार की:

 $total += $products[$i]['total'];

लूप के भीतर। और इसने इसे ठीक कर दिया: डी यह स्पष्ट रूप से बहुत आसान था!

1
Codelly 23 सितंबर 2020, 17:48