2016-04-25 13 views
0

So habe ich mehrere Dropdown-Boxen und sie haben einen Preis in der Dropdown-Box, und ich möchte alle Preise von jeder Dropdown-Box sammeln und echo es als eine Summe Preis. Bis jetzt habe ich es geschafft, den Preis wiederzugeben, aber es zeigt nur das letzte Produkt jeder Dropdown-Box, so dass es den Preis nicht ändert, wenn der Benutzer verschiedene Produkte auswählt.PHP mit mysql müssen die Gesamtkosten aller Dropdown-Boxen berechnen

 <?php 
     //PSU QUERY 
    $sqlpsu="SELECT id, psu, price, psuWATT FROM PSU"; 
    $result = mysql_query($sqlpsu); 

    echo "<select name='psu'>"; 
    while ($row = mysql_fetch_array($result)) { 

     echo '<option value="'.$row["id"].'">'.$row["psu"]. " £" .$row["price"].'</option>'; 
     $pricePsu = $row["price"]; 
    } 
    echo "</select>"; 
    ?> 
+3

** WARNUNG **: Wenn Sie nur PHP lernen, bitte, nicht lernen, die veraltete [ 'mysql_query'] (http://php.net/ Handbuch/de/function.mysql-query.php) Schnittstelle. Es ist schrecklich und wurde in PHP 7 entfernt. Ein Ersatz wie [PDO ist nicht schwer zu erlernen] (http://net.tutsplus.com/tutorials/php/why-you-should-beusing-phps-pdo- for-database-access /) und ein Leitfaden wie [PHP The Right Way] (http://www.phptherightway.com/) hilft Best Practices zu erklären. Machen Sie ** sicher ** Ihre Benutzer-Parameter sind [richtig maskiert] (http://bobby-tables.com/php) oder Sie werden mit schweren [SQL-Injektion Bugs] (http://bobby-tables.com/)). – tadman

+0

Meine Eingabe ist wie in ein paar Tagen Ich habe keine Zeit dafür – bill186

+0

Haben Sie eine Lösung für mein Problem? – bill186

Antwort

1

vor, während gesetzt

$pricePsu = 0; 

in der, während die Verwendung

$pricePsu += $row["price"]; 

Nachdem während echo "$pricePsu"

Option html

<select name="psu" id="psu" multiple="multiple"> 
    <option value="1" price="5">option1 $5</option> 
    <option value="2" price="10">option2 $10</option> 
    <option value="3" price="15">option3 $15</option> 
</select> 
<div></div> 
Javascript

Option

$("select") 
    .change(function() { 
    var total = 0; 
    var str = ""; 
    $("#psu option:selected").each(function() { 
     total += parseInt($(this).attr("price")) ; 
    }); 
    $("div").text(total); 
    }) 
    .trigger("change"); 

Beispiel! https://jsfiddle.net/Cuchu/epxvhfyh/

Good Practice:

echo "<option value='{$row['id']}' price='{$row['price']}'>{$row['psu']} £ {$row['price']}</option>"; 
+0

Ich lese falsch gelesen .. wenn Sie eine Gesamtkosten während Benutzer wählen, müssen Sie verwenden Javascript oder Jquery. Und wenn Sie select verwenden, setzen Sie select als Multiselect-Option. – Cuchu

+0

, die nur alle Produkte für diese Dropdown-Box, die nicht das ist, was ich will, ich brauche nur den Preis, welche Option der Benutzer wählt. Dann unten werde ich alle Variablen addieren und den Gesamtpreis widerspiegeln, weil es mehrere Dropdown-Boxen gibt. – bill186

+0

@ bill186 Sie müssen etwas tun :) – Cuchu

Verwandte Themen